【问题标题】:OpenGL multiple texture mapping on a cube using GLUT使用 GLUT 在立方体上的 OpenGL 多纹理映射
【发布时间】:2010-03-07 11:49:16
【问题描述】:

一直试图弄清楚如何使用 OpenGL 和 GLUT 在立方体的每一侧放置不同的纹理。我可以让它成为一个简单的纹理,但多个纹理不会。我会提出我的代码,但它现在又丑又乱。如果这很容易做到,请发布一些代码供我遵循。谢谢!

【问题讨论】:

  • 您是在使用 gluCube 还是单独绘制每一面?

标签: c++ opengl glut


【解决方案1】:

它的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]);
    }

`

免责声明:我从不测试这些代码,它基于我的记忆,你应该检查我是否怀疑它是 glClientActiveTexture() 还是 glActiveTexture()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 2014-01-09
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多