2012-08-20 4 views
2

안녕하세요. IBO를 사용하여 .obj 파면 파일을 올바르게 렌더링하는 데 어려움을 겪고 있습니다.wavefront obj 모델 로더 색인 생성 문제

저는 파서를 작성했는데, 지금은 매우 간단하지만 정점과 법선을로드합니다. 파싱 ​​된 꼭지점과 법선을 묶는다면 큰 결과를 얻지 만, GL_element로 인덱스를 바인딩하면 ... 나는 엉망이된다.

나는 약 일주일 동안이 작업을 해왔다. 적어도 여기 20 페이지를 점검하고 마침내 질문을하기로 결정했다.

정말 코드가 잘못되어 콘솔에 쓴 디버깅 정보, 프로그램, 스크린 샷 및 비디오에서 쓴 파일을 가져 왔습니다. 나는이 누군가가 내가이 고비를 지나갈 수있게 도와 줄 수 있기를 바란다.

페이스트 빈 : http://pastebin.com/uZs74DSn

당신은 내가 이미 .OBJ 파일이 모든 지표에서 하나를 뺀 기반의 제로 없었던 계정 페이스트 빈에서 볼 수 있습니다.

비디오 : 1. http://www.youtube.com/watch?v=tfqhDEMCjPA&feature=plcp 원숭이가 구문 분석되어 glarray로 그려집니다.

  1. http://www.youtube.com/watch?v=SDeJk7sv2ZA&feature=plcp 동일한 모델 분석하지만 gldrawelements으로 그려.

  2. http://www.youtube.com/watch?v=3_HS8Q7FXsk&feature=plcp 구 파싱 gldrawelements wigh 난 이후 lineloops glarray 사용하지만 미세로 렌더링 opengame 기술에서 볼

  3. http://www.youtube.com/watch?v=w6Oqy3JdTRg&feature=plcp 모델을 그려.

  4. http://www.youtube.com/watch?v=xHiCcK5QuE0&feature=plcp 많은 기본 모양이 렌더링되고 글래 레이와 함께 잘 조명됩니다.

나는 정말 상실감에 빠졌습니다. 셰이더를 계속 배우고 싶습니다. 이것은 밖에서 누군가를위한 사소한일지도 모른다, 나는 그들이 들를 수 있고, 인도 할 생각을 줄 수 있기를 바란다!

답변

0

bluBee는 두번째보기 후에, 나는 그게 정말이야 것은 당신의 오프셋은 당신이 그들이 생각하지 어떤 것을 생각합니다. 데이터를 읽고 있고, 정점이 복제되고 중복 데이터를 정점 버퍼에 두 번 이상 쓰고 있습니다. 따라서 나중에 인덱스 4를 참조하려면 실제로 정점 배열의 해당 위치에서 정점 2의 데이터를 가져야합니다.

버텍스 데이터를 미리 정렬하고 버텍스 배열이 [max_index_number * 3]보다 크지 않도록 모든 것을 작성한 다음 인덱스를 그대로 스트리밍하십시오. 그게 효과가있을 것 같아.