【发布时间】:2012-12-01 15:19:44
【问题描述】:
我在 Visual Studio C++ 2010 中使用 opengl 和 glsl。我正在编写着色器,我需要 加载纹理。我正在阅读一本书的代码,在那里他们用 Qt 加载纹理,但我 需要用 DevIL 来做,有人可以用 DevIL 编写纹理加载的等效代码吗?我是 DevIL 新手,不知道如何翻译。
// Load texture file
const char * texName = "texture/brick1.jpg";
QImage timg = QGLWidget::convertToGLFormat(QImage(texName,"JPG"));
// Copy file to OpenGL
glActiveTexture(GL_TEXTURE0);
GLuint tid;
glGenTextures(1, &tid);
glBindTexture(GL_TEXTURE_2D, tid);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, timg.width(), timg.height(), 0,
GL_RGBA, GL_UNSIGNED_BYTE, timg.bits());
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
【问题讨论】: