2010-03-07 3 views
0

Были попытки выяснить, как поместить другую текстуру с каждой стороны куба с помощью OpenGL и GLUT. Я могу заставить его быть простой текстурой, но многократная текстура не будет. Я бы поставил свой код, но теперь он уродлив и захламлен. Если это довольно легко сделать, напишите какой-нибудь код для меня. Благодаря!Множественное отображение текстур OpenGL на кубе с использованием GLUT

+0

Вы используете gluCube или рисуете каждую сторону самостоятельно? – epatel

ответ

0

его 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()