使用SOIL库,我试图在我绘制的Grid下面加载一个图像;这是此函数的代码:
void ModelGL:: LoadTexture()
{
texture[0] = SOIL_load_OGL_texture("images/GolSa.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
//if(texture[0] == 0)
//exit(1);
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
//Bottom Face (true)
glTexCoord2f(1.0f, 1.0f); glVertex3f(1.0f, -1.0f, -1.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f( -1.0f, -1.0f, -1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f( -1.0f, -1.0f, 1.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f(1.0f, -1.0f, 1.0f);
glEnd();
glDisable(GL_TEXTURE_2D);
}但在输出中,我看不到图片;
发布于 2013-10-29 21:20:24
在glBindTexture(...)之前或之后尝试glActiveTexture(GL_TEXTURE0)
编辑:
由于您正在使用glTexCoords*(...),因此在使用它们之前,必须先用glEnable(GL_TEXTURE_2D)启用它们。
下面是一个带纹理的立方体的示例:
http://www.gamasutra.com/view/feature/131768/understanding_and_using_opengl_.php?print=1
请阅读A First Try at Texturing部分
https://stackoverflow.com/questions/19658866
复制相似问题