2014-01-24 2 views
-1

내 주전자를 http://graphics.cs.williams.edu/data/meshes.xml에서 다운로드하는 데 문제가 있습니다.OpenGL 주전자가 올바르게 그려지지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

.obj 파일을 구문 분석하는 데 너무 많은 시간을 보내고 싶지 않았기 때문에 정점 데이터 (오브젝트 파일에서 "v"가 앞에 있음)를 복사 한 다음 C++ 코드에 붙여 넣었습니다. 그러나 렌더링이 제대로되지 않습니다. 나는 주전자의 일반적인 형태를 볼 수 있지만, 그것은 매우 단편적인 것처럼 보입니다. 새로운 OpenGL을 사용하고 있고 조명이나 음영으로 아무 것도하지 않았기 때문에 주전자 모양의 검정색 얼룩을 예상했을 것입니다.

왜 내 주전자가 그런 것으로 밝혀 졌는지에 대한 추측이 있습니까?

enter image description here

답변

2

당신은 정점 버퍼 이외에 인덱스 버퍼를 사용해야합니다. 파일의 얼굴 앞에 "f"가 붙습니다.

+0

응답 해 주셔서 감사합니다. 인덱스 버퍼를 정확히 사용하려면 어떻게해야합니까? – newbie

+0

spec http://www.martinreddy.net/gfx/3d/OBJ.spec은 정점 색인 방법에 대한 몇 가지 예를 제공합니다. "v"가 앞에 오는 정점은 올바른 순서가 아니며 복제본이 제거됩니다. "f"로 시작하는 인덱스는 올바른 순서를 제공합니다. –

관련 문제