[英]OpenGL,SOIL library and a textured rectangular
我正在嘗試使用SOIL和GLUT在OpenGL中制作一個簡單的紋理矩形。
這是我的Display函數(主要由glutDisplayFunc(Display)執行):
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();
}
這樣只能看到沒有任何紋理的黑色矩形。 我正在嘗試用幾個小時來做一些事情。 請幫助,在此先感謝。
可能是您在繪制矩形之前將顏色設置為黑色嗎? 線
glColor3f (0.0,0.0,0.0);
嘗試白色...
glColor3f (1.0,1.0,1.0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.