[英]OpenGL multiple texture mapping on a cube using GLUT
一直在尝试找出如何使用OpenGL和GLUT在立方体的每一侧上放置不同的纹理。 我可以使它成为简单的纹理,但不会有多个纹理。 我会放上我的代码,但是它现在很丑陋且混乱。 如果这样做很容易,请发布一些代码供我遵循。 谢谢!
它的NEHE 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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.