2010-12-01 6 views
0

저는 iPhone에서 OpenGL ES 2로 작업 중이며 지금은 내 텍스처가 내 객체에서 작동하도록 노력하고 있습니다. .obj 파일을 사용하고 있으며 그 안에있는 모든 데이터가 정확합니다. 모든 데이터를 검색하기 위해 파서를 직접 작성했습니다. C의 정적 배열로 변환합니다. 지금은 재질 특성을 무시하고 .mtl 파일의 이미지 경로 만 수동으로 가져옵니다.OpenGL ES 2의 질감이 제대로 작동하지 않습니다.

저는 336 개의 삼각형을 가진 물체를 가지고 있습니다.이 물체는 꼭지점, 정점면 및 텍스처 좌표 (u, v)와 함께 관찰하는 것이 중요합니다.

http://img530.imageshack.us/img530/9637/pic1io.png

http://img404.imageshack.us/img404/7358/pic2pg.png

그러나 (객체 뷰어에 표시)과 같아야합니다 : 쉐이더에 모든 데이터를 전달

, 결과 이미지는 이것이다. 재료 특성을 무시하십시오.

http://img16.imageshack.us/img16/1401/pic3cq.png

질감이 이미지를 사용 : 내가 생각하고

http://img217.imageshack.us/img217/1300/shirtdiffuse.png

가 얼굴을 좌표 텍스처해야 할 것인가? 그것은 내 .obj 파일에 정의되어 있으며, 전혀 사용하지 않을 것입니다. 책과 튜토리얼에서 나는 이것에 관해서 아무 것도 발견하지 못했다.

감사합니다. Niclas

답변

0

텍스처를 수직으로 뒤집어 봤습니까? 텍스처가로드 될 때마다 메모리에 레이아웃되어 수직선이 텍 스코드에서 의도 한 반대 방향으로 오게됩니다.

+0

예 제가 가지고있는 :) 당신이보고있는 이미지가 실제로 수직으로 뒤집 혔습니다. 텍스처 좌표면을 사용하는 것에 대해 알고 있습니까? – tyuip

+0

@Adl은 모델을 회전 할 때 텍스처가 "이동"됩니까? 나는 쉐이더 전문가는 아니지만 만일 그것이 발생한다면 나는 당신의 texcoord 쉐이더에 버그가 있다고 상상할 것입니다. – epatel

+0

문제는 제가 사용하는 속성에 따라 다른 색인이 있다는 것입니다. Vertices, Normals 및 TextureCoordinates는 모두 서로 다른 인덱스를가집니다. 나는 그들의 인덱스로 TextureCoords를 그려야 할 때, 해당 인덱스로 Vertices를 그리는 방법을 모른다. – tyuip

관련 문제