2014-07-13 7 views
0

OpenGL ES에서 텍스처 매핑을 이해하는 데 어려움이 있습니다.OpenGL ES에서 텍스처 좌표의 올바른 모델

  1. V -75 75 -50
  2. V 75 75 -50
  3. V -75 -75 -50
  4. V : 예를 들어,이 같은 작은 OBJ 파일 정보를 포함 75 -75 -50

  5. VT 0 0

  6. VT 0 1
  7. VT 1
  8. ,691 363,210
  9. VT 1 0

  10. F 4/3 3/2 1/1

  11. 'I를 사용하는 경우,이 후 텍스처 ISN을 VTS 2/4 4/3 1/1

F t 매핑을 올바르게 수행합니다. 나는이 같은 VTS를 전환하면 그러나 :

  1. VT 1 0
  2. VT 0 1
  3. 버몬트 1 1
  4. VT 0 0

모두 잘 작동 시작합니다. 저는이 좌표를 그려서 시각적으로 표현하고 (Y 축 좌표를 뒤집은) 이미지를 얻으려고했습니다. http://imgur.com/BRQgKay 첫 번째 경우에는 좋은 표현을 볼 수 있지만 제대로 작동하지 않습니다. 두 번째 경우에는 끔찍한 것을 보지만 작동합니다. 왜 작동하는지, 나는 완전히 이해할 수 없다. 아이디어가 있으십니까? 도움 주셔서 감사합니다. 편집 : http://i.stack.imgur.com/4YdpM.jpg 내가 얻은 결과에 대한 약간의 설명을 추가했습니다. 텍스처를 두 부분 (삼각형)으로 나눌 수 있습니다. 첫 번째 경우에는이 부분이 대각선으로 바뀝니다. 두 번째 경우에는 분리 된 텍스처에 따라 좋은 매핑을 얻을 수 있지만 왜 작동하는지 이해할 수 없습니다. 죄송합니다. 설명이 명확하지 않은 경우.

+0

모델의 좌표가 괜찮아 보입니다. 결과는 무엇이며 기대되는 결과는 무엇입니까? "텍스처가 올바르게 매핑되지 않았습니다"가 아니라 문제에 대한 세부 정보를 추가하십시오. –

+0

네가 맞다. 나는 일찍 그것에 대해 생각해야한다. 내가 얻은 결과에 대한 약간의 설명을 추가했습니다. 너의 발언에 고마워. – Ilya

답변

0

연필과 종이를 취해이 직사각형을 그리면 모든 것이 잘된 것처럼 보입니다. 나는 X가 오른쪽으로 증가하고 Y가 위쪽으로 증가하는 좌표계를 취합니다. 그렇게하면 왼쪽 위 부분이 (0,0)이고 오른쪽 아래가 (1,1)이므로 텍스처 좌표가 잘 보입니다. 처음 엔 Z 좌표가 신경 쓰였습니다. 그들은 음수이기 때문에 카메라 위치는 정면에서 볼 때 Z (< -50)보다 작아야합니다.

다시 말하지만, 모델은 당신이하려는 일에 달려 있지만 괜찮아 보입니다. 그러나 이미지를 X와 Y (대각선으로 대칭으로 미러링 됨)로 미러링 한 결과를 보면 매트릭스에서 문제를 찾기 시작할 것입니다. X 미러링은 카메라 위치를 (0, 0, 0)에두고 음의 Z 방향을 바라 보았을 때 발생할 가능성이 가장 큽니다. 두 번째 방법은 가능한 두 가지 방법 중 하나에서 Y 좌표를 반전시켜야합니다. glOrtho 또는 glFrustum. 이 두 방법 모두 매개 변수 topbottom을 사용하기 때문에 bottom을 더 크게 설정하면 top을 크게 설정하여 Y 좌표가 아래쪽으로 향하게합니다.

다음 매개 변수를 모두 확인하여 다른 사항을 추측 해보십시오. 또한 컬링 사용을 고려해야합니다.이를 사용하면 뒤에서보고있는 다각형이 표시되지 않으므로 얼굴의 앞이나 뒤를 볼 수 있는지 이해할 수 있습니다.

스왑 된 Y 좌표에 대한 참고 사항 : 이것은 버그 또는 잘못된 접근 방법이 아니며 지금까지는 매우 표준적인 절차입니다. 대부분의 데스크탑 UI 요소는 Y가 위를 향하도록 좌표계를 가지고 있으므로 UI에서 Y가 반전되는 반전 된 시스템을 먼저 사용하는 것이 가장 좋습니다. 이것이 (적어도 2D에서) 뷰가 사용하는 것과 동일한 좌표계를 사용하는 것이 가장 좋지만, 모델을 생성하는 모든 애플리케이션은 Y가 위쪽으로 향하는 것으로 간주 할 가능성이 높습니다.

+0

설명해 주셔서 감사합니다. 모든 것이 아직 명확하지는 않지만 나는 이것을 이해하려고 노력할 것입니다. – Ilya

+0

어떤 부분을 이해하지 못합니까? 종이의 평화를 가져다가 뭔가를 그립니다. 그런 다음 빛 (용지를 통해 볼 수 있음)을 얻고, 그림이 사용자를 향하게하고 뒤집어서 용지를 뒤집습니다. 그 결과는 정확히 "틀린"그려진 객체로 보는 것을 주장합니다. 요점은 예기치 않은 관점에서 물체를 보는 것이 물체가 정확하게 그려지지 않은 것처럼 보일 수 있다는 것입니다. –

+0

http://imgur.com/BRQgKay OpenGL의 좌표계에서 vts를 그릴 두 이미지가 있습니다. 첫 번째 경우, 나는 일반적인 빗변과 함께 두 개의 삼각형으로 나눈 텍스쳐를 얻습니다. 두 번째 경우에는 동일한 두 개의 삼각형을 얻지 만 그 빗변의 교차점을 얻습니다. Vts에 의해 지정된 텍스처의 일부분을 취하면 그 사실을 이해할 수 없습니다. 일반적인 사변 법 (텍스처의 모든 공간을 사용하는 경우)이 작동하지 않는 경우와 교차 사변 법 (텍스처의 모든 공간을 사용하지 않는 경우) 올바르게 작동합니까? – Ilya