【发布时间】:2013-05-04 04:31:20
【问题描述】:
我正在尝试使用 SOIL 库在 OpenGL 中加载 PNG 纹理,并在 GL QUAD 中显示纹理,但是当我调用该函数时,图像已正确加载,但会更改整个屏幕的颜色!
如果是蓝色图像,屏幕变为蓝色颜料! 如果是红色,则变为红色! 谁知道这是什么原因
没有加载图像的正确颜色:http://i.stack.imgur.com/OHroq.jpg
加载图像时颜色错误:http://i.stack.imgur.com/LyRwJ.jpg
代码:
int LoadGLTextures() {
texture[0] = SOIL_load_OGL_texture("test.png", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
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);
glColor3f(1.0f, 1.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f(mover, 11.0f, 1.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f( mover+44,11.0f, 1.0f);
glTexCoord2f(1.0f, 1.0f); glVertex3f(mover+44, 44.0f, 1.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f(mover, 44.0f, 1.0f);
glEnd();
}
【问题讨论】:
标签: c opengl mapping textures soil