COLLADA
파일 형식의 간단한 판독기를 작성 했으므로 제대로 작동하는 것 같습니다. 이제 블렌더로 내 보낸 입방체 메쉬를 가장자리가 쪼개지고 삼각형으로 처리 했으므로 12 개의 삼각형 (얼굴 당 2 개), 24 개의 정점 (얼굴 당 4 개) 및 36 개의 인덱스 (얼굴 당 6 개)가 있어야합니다. 이 메쉬는 일반적인 데이터와 UV 맵을 가지고 있습니다.COLLADA 인덱스를 처리하는 방법은 무엇입니까?
COLLADA
파일에는 24 개의 정점, 12 개의 법선 및 36 개의 UV가 있으므로 법선은 삼각형이고 UV는 인덱스라고 가정합니다. polylist
의 삼각형 수는 12이며 올바른 숫자이며 vcount
은 12의 3을가집니다. 이제 인덱스 목록 인 <p>
에는 108 개의 항목이 있습니다. 여기서 0, 3, 6 등은 정점 인덱스이고 1, 4, 7 등은 일반 인덱스이고 2, 5, 8 등은 UV 인덱스입니다.
위치 (vec3
), 보통 (vec3
) 및 UV 좌표 (vec2
)로 구성된 정점에 대한 내부 구조체가 있습니다. 메쉬를 그리기 위해 OpenGL의 버텍스 버퍼를 사용하고 별도의 인덱스 목록을 가지고 있습니다.
메쉬를로드 한 후 24 정점이 있어야하는 것은 아닙니까? <p>
의 108 개 항목은 36 개의 정점으로 변환됩니다. 인덱스와 관련된 문제는 무엇입니까?
나는 여기에서 아주 간단한 것을 놓칠지도 모르지만, 그냥 볼 수는 없습니다.
COLLADA
파일은 here입니다.