본문 바로가기

Graphics Note

cube map upside-down

큐브맵을 사용해서 스카이박스를 만드는데 자꾸만 뒤집혀서 나온다. 이리저리 찾아본 결과 큐브맵에 사용되는 unwrapped cube texture는 좌표계가 조금 특이하다는걸 알게되었다.

 

출처: http://www.belanecbn.sk/3dtutorials/index.php?id=24

위 글의 코멘트에 어느분이 질문을 했고(이게 내가 궁금했던거고..) 굉장히 친절하게 답변해주셨다.

 

-----------------------------------------------------------

cube map texture


    (3)         |      (-y)           |     (u)
(1) (4) (0) (5) | (-x) (+z) (+x) (-z) | (b) (r) (f) (l)
    (2)         |      (+y)           |     (d)

0: GL_TEXTURE_CUBE_MAP_POSITIVE_X
1: GL_TEXTURE_CUBE_MAP_NEGATIVE_X
2: GL_TEXTURE_CUBE_MAP_POSITIVE_Y
3: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
4: GL_TEXTURE_CUBE_MAP_POSITIVE_Z
5: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z

          -Yu
           |   +Zr
           |  /
           |/
 -Xb---|---+Xf         ==> textures as we want them to be seen
         /|
       /  |
 -Zl     |
        +Yd

roated 180 degrees around the X axis

         +Yd
          |   -Zl
          |  /
          |/
-Xb---|---+Xf         => textures stored in cube map in OpenGL
        /|
      /  |
  +Zr   |
       -Yu

-----------------------------------------------------------

 

큐브맵 텍스쳐의 6면이 내가 생각했던것과 반대였고, 그래서 계속해서 뒤집혀진 스카이박스가 출력되었던 것이다. (DirectX에서 내가 원래 생각했던 순서가 맞았다..)

'Graphics Note' 카테고리의 다른 글

device context and rendering context  (0) 2014.02.24
Bezier curve  (0) 2014.02.04
Normal Matrix  (1) 2013.12.15
glHint  (0) 2013.12.14
Vector/Matrix class  (0) 2013.12.02