2013-03-21 1 views
4

나는 안드로이드, 특히 OpenGL ES 2.0과 관련하여 일부 3D 작업을하고 있습니다. 내 학습 경로에서 모든 예제는 obj 파일 (wavefront .obj)을 가져 와서 버텍스를 추출하는 방법을 보여줍니다. 비록 대부분의 3d 라이브러리가 독립적으로 인덱싱 된 메쉬를 지원하지만 (obj 파일과 다른 몇 가지 파일 유형 (인기있는 파일 유형)은 "자신 만의 방식으로 이동"하기로 결정했습니다) (정점, 법선 및 텍스처 좌표) 이러한 파일 유형은 여러 인덱싱 된 메쉬를 사용했습니다.미리 색인이 붙은 그림을위한 3d 파일 유형을

그래서 어쨌든 여기 내 질문 :

내가 한 곳에서 읽을 그 전에이 미친 셔플 전기 슬라이드 할렘 쉐이크 물건의 모든없이 즉, OpenGL을 (로 쉽게 가져 오기를 제공하는 존재 거기에 파일 형식의 일부 obj 파일의 데이터를 참조). 누구든지 인덱스 된 그림에 대한 단일 인덱스를 지원하는 일부 파일 형식 (OpenGL/Friendly)을 알고 있습니까?

+0

하지만 OBJ 인덱스를 매핑하는 간단한 해시를 사용합니다. –

+0

사실, 대부분 내 프로젝트에서 사용할 수있는 최상의 파일 형식의 관점에서 알기를 원했지만 OBJ가 인기 있고 collada도 믿습니다. 아래의 md2를 살펴 보려고합니다. – Ryan

답변

2

OpenGL에로드되도록 특별히 설계된 Quake의 MD2 형식 (여기에서 좋은 지침서) http://tfc.duke.free.fr/old/models/md2.htm을 살펴보십시오. 그러나 조금 오래되었다는 것은 좋은 일입니다.

대조적으로 OBJ 형식은 여전히 ​​강세를 보이고 있으며 (OBJ 형식은 단순함, 광범위한 지원) 많은 것을 가지고 있습니다. 형식이 꼭지점, 법선 및 텍스처 좌표에 대해 별도의 인덱스를 가지고 있으므로 꼭지점 배열에 대해 별도의 인덱스 버퍼를 만드는 데 필요한 요구 사항이 있다는 것을 이해하는 것처럼 올바른 경로에있는 것처럼 보입니다.

잘 작동하도록하는 속임수는 빠른 해시 테이블 솔루션을 사용하여 'vert/norm/tex'얼굴 설명을 저장/검색하는 것입니다. (OBJ 수입업자에 대한 나의 첫 번째 시도는 10000의 얼굴을 읽는 데 7 초가 걸렸습니다. 이제는 0.5 초 정도입니다. 행운을 빌어 요! 행운을 빌어 요.

+0

Md2 형식은 매우 흥미 롭습니다.하지만 내가 말한 것처럼 기본적으로 설명하는 것과 동일한 파일 형식을 만들었지 만 이진 파일에 인덱스를 다시 작성하면 (즉, HashMap을 사용하여 매우 빠르게 괴롭힘을 당함), 새로운 사용자 정의 형식을 읽을 수있는 클래스를 만들었습니다. 정말 간단하게 만들 수있는 뭔가가 있기를 바랬습니다. – Ryan

관련 문제