본문 바로가기

Graphics Note

[OpenGL]Model from .ASE

3dmax에서 모델링한 후 여러가지 포맷으로 익스포트하여 OpenGL에서 사용가능하게 적절히 쓸 수 있다.


아래코드는 .ASE 파일포맷으로 익스포트된 모델정보를 로드하여 관리하는 코드이다.

기본적으로 VERTEX_LIST, FACE_LIST를 가져오고 텍스쳐가 있다면 UVLIST(TVERTLIST)와 TFACELIST도 읽어와 텍스쳐매핑을 한다.


노멀이나 컬러는 아래코드만 이해하면 금방 읽어올수 있을것이다. 추후 업데이트할지도?


사실 Tface list와 Tvertex list정보로 새로운 Vertex list를 만드는데 상당히 애먹었는데,,

Tface list의 인덱스의 새로운 버텍스가 Face list의 인덱스의 기존 버텍스값을 가진다는..  간단한 원리이다.

(이때 새로운 버텍스는 최적화고 뭐고 그냥 NUMTVERTEX만큼이면 된다.)


그릴때는 텍스쳐가 있다면 변환된 새로운 Vertex list를 GL_VERTEX_ARRAY로 지정해주고, 인덱스는 TFace list를 사용하면 된다.



ps. 3dmax의 submaterial? 과 텍스쳐가 아닌 material에 대한 처리는 어떻게해야할지 분석중..

ps2. 주석에도 있지만,, 파일형식 잘못되었을 때 등 크리티컬한 에러처리를 전혀 하지않음. 그냥 공부용으로만 사용

'Graphics Note' 카테고리의 다른 글

[Mathematics] quaternion(사원수)  (1) 2013.07.10
[Mathematics] matrices for transformation  (0) 2013.07.09
[Mathematics] complex number  (5) 2013.07.01
유리같은 셰이딩  (0) 2013.06.25
Directx DXUT Library build & include  (0) 2013.03.30