在花了几个小时寻找一种简单的方法将图像添加到用C++编写的openGL应用程序之后,我失败了,非常痛苦。很明显,其他许多人也是如此。
我是OpenGL的新手,我用DevIL用OpenGL编写了我自己的win32应用,你猜对了,我失败了。我可以让DevIL工作的唯一方法是使用Glut,我不想使用它,或者使用SDL或glax.h
我正在寻找的是一个简单的OpenGL和DevIL的C++图像加载器的代码或教程,任何帮助都将不胜感激。
发布于 2010-09-15 00:01:35
如果您要求OpenGL使用mapmap进行过滤,请确保使用give it mipmaps to filter with。
另外,我很确定glTexParameteri()和glTexEnvf()只适用于当前绑定的纹理。
尝试用以下代码替换您的InitTextures():
Tex1 = ilutGLLoadImage("tex1.bmp");
glBindTexture( GL_TEXTURE_2D, Tex1 );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
Tex2 = ilutGLLoadImage("tex2.bmp");
glBindTexture( GL_TEXTURE_2D, Tex2 );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);https://stackoverflow.com/questions/3709347
复制相似问题