0
一直在尝试弄清楚如何使用OpenGL和GLUT在立方体的每一侧上放置不同的纹理。我可以让它成为一个简单的纹理,但多个纹理不会。我会提出我的代码,但现在它很丑陋和混乱。如果这很容易做,请发布一些代码让我遵循。谢谢!使用GLUT在立方体上进行OpenGL多重纹理映射
一直在尝试弄清楚如何使用OpenGL和GLUT在立方体的每一侧上放置不同的纹理。我可以让它成为一个简单的纹理,但多个纹理不会。我会提出我的代码,但现在它很丑陋和混乱。如果这很容易做,请发布一些代码让我遵循。谢谢!使用GLUT在立方体上进行OpenGL多重纹理映射
其讷河openGL的教训#22 http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=22,那么如果你想有不同的纹理每个面,你可以通过切换glClientActiveTextureARB(GL_TEXTURE0_ARB);
,或glClientActiveTextureARB(GL_TEXTURE1_ARB);
修改立方体的渲染部分为每个面取决于你有质感的数量。
例如: `
// Back Face
glClientActiveTextureARB(GL_TEXTURE0_ARB);
glNormal3f(0.0f, 0.0f,-1.0f);
for (i=4; i<8; i++) {
glTexCoord2f(data[5*i],data[5*i+1]);
glVertex3f(data[5*i+2],data[5*i+3],data[5*i+4]);
}
// Top Face
glClientActiveTextureARB(GL_TEXTURE1_ARB);
glNormal3f(0.0f, 1.0f, 0.0f);
for (i=8; i<12; i++) {
glTexCoord2f(data[5*i],data[5*i+1]);
glVertex3f(data[5*i+2],data[5*i+3],data[5*i+4]);
}
`
声明:我从来没有测试这些代码,其根据我的记忆,你应该检查ii'am怀疑它是否glClientActiveTexture()或glActiveTexture()
您是使用gluCube还是独立绘制每一面? – epatel 2010-03-07 11:51:55