2010-03-07 4 views
0

OpenGL과 GLUT를 사용하여 큐브의 각면에 다른 텍스처를 배치하는 방법을 알아 내려고했습니다. 나는 그것을 단순한 텍스쳐로 만들 수 있지만 여러 텍스쳐는 그렇지 않을 것입니다. 나는 코드를 작성하지만, 지금은 추악하고 어수선하다. 이 작업을 수행하기가 쉽다면 따라야 할 코드를 게시하십시오. 감사!GLUT를 사용하여 큐브에서 OpenGL 다중 텍스처 매핑

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

`

면책 조항 : 내가 그 코드를 테스트 결코 그 내 기억에 따라, 당신은()가 glClientActiveTexture 여부를 의심 ii'am 확인해야하거나 glActiveTexture()