2009-04-09 6 views
1

SOIL과 GLUT을 사용하여 OpenGL에서 간단한 질감 사각형을 만들려고합니다.OpenGL, SOIL 라이브러리 및 질감이있는 사각형

이 (glutDisplayFunc (디스플레이)에 의해 주에서 실행) 내 표시 기능입니다 :이

void Display() 
{ 
    GLuint tex_2d; 

    glMatrixMode (GL_MODELVIEW); 
    glLoadIdentity(); 
    glClear (GL_COLOR_BUFFER_BIT); 
    glClearColor (1.0,1.0,1.0,1.0); 
    gluLookAt (eyex,eyey,eyez,centerx,centery,centerz,0,1,0); 

    glEnable(GL_TEXTURE_2D); 
    tex_2d = SOIL_load_OGL_texture 
    (
     "img.png", 
     SOIL_LOAD_AUTO, 
     SOIL_CREATE_NEW_ID, 
     SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT 
    ); 
    if(0 == tex_2d) 
    { 
     printf("SOIL loading error: '%s'\n", SOIL_last_result()); 
     exit(1); 
    } 

    glBindTexture(GL_TEXTURE_2D, tex_2d); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR); 

    glColor3f (0.0,0.0,0.0); 
    glBegin(GL_POLYGON); 

         glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f); 
         glTexCoord2f(1.0f, 0.0f); glVertex2f(1.0f, 0.0f); 
         glTexCoord2f(1.0f, 1.0f); glVertex2f(1.0f, 1.0f); 
         glTexCoord2f(0.0f, 1.0f); glVertex2f(0.0f, 1.0f); 

    glEnd(); 
    glDisable(GL_TEXTURE_2D); 
    glFlush(); 
    glutSwapBuffers(); 
} 

어떤 질감없이 단지 검은 색 직사각형을 볼 수 있습니다. 나는 이것을 몇 시간 동안 해보려고 노력하고있다. 미리 감사드립니다.

+0

당신은 질감 모든 프레임을로드하는? – GManNickG

+0

나는 그것을하지 말아야한다는 것을 알고 있지만, 어딘가 다른 곳으로 텍스처를로드 할 때에도 여전히 작동하지 않습니다. – mmatloka

답변

3

직사각형을 그리기 직전에 색상을 검정색으로 설정할 수 있습니까?

glColor3f (0.0,0.0,0.0); 

흰색 대신 시도 라인 ...

glColor3f (1.0,1.0,1.0); 
+0

롤 ... 나는 그 검은 색이 질감을 감추고 흰 색이 아니라고 생각했다. ... 고마워! – mmatloka