ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ASE Animation [ *Mesh ]
    GamePrograming/Direct3D 2009. 3. 26. 12:35

    MESH 정보 안에는

    VERTEX의 갯수 : *MESH_NUMVERTEX
    INDEX의 갯수 : *MESH_NUMFACES

    VERTEX를 정보를 가지고있는 LIST : *MESH_VERTEX_LIST {}
    INDEX 정보를 가지고있는 LIST : *MESH_FACE_LIST {}

    텍스쳐를 하기위한 UV 좌표
    *MESH_NUMTVERTEX
    *MESH_TVERTLIST{}

    텍스쳐를 하기 위한 TINDEX
    *MESH_NUMTVFACES
    *MESH_TFACELIST{}

    값들이 있다.

    ----------------------------------------------------------------------------------

    자이제부터 MESH값을 받아 오겠다.

    텍스쳐가 없을 경우 VERTEX 정보와 INDEX 정보를 그대로 받아오면 된다.
    [ 좌표계가 다르므로 VERTEX와 INDEX 둘다 두번째 세번째 값은 바꿔줘야 한다!! ]

    일단 텍스쳐가 있던 없던, 받아들인 텍스쳐의 Normal값을 먼저 계산해주는것이 좋다.



    텍스쳐가 있을 경우 TVERTEX값인 UV 좌표와 TINDEX값을 일단 다 받아 들인다,

    INDEX와 TINDEX의 갯수는 같다.
    INDEX의 값의 버텍스와, TINDEX의 값 T버텍스를 합치면 완전한 VERTEX가 나온다!!!
    하지만! 여기서 문제점은 동일한 값들은 사용하면되지만, UV좌표만 다른 버텍스 들이 있다!
    그것을 걸러 내야한다!!

    EX) INDEX는 1 (1번째 버텍스) TINDEX 44 (44번째 TVERTEX) 였다!.
    근데 다음번 값중에 INDEX는 1인데, TINDEX가 33이 나올경우, 저번 버텍스 값에서 바꾸면 안되고,
    새로운 버텍스를 하나 추가해줘야 한다.

    필자의 경우 VERTEX 리스트를 하나 새로 생성해, 새로운 버텍스 리스트와 새로운 인덱스 리스트를 작성하였다.




    남 소스는 참고만!!
    방법은 인덱스와 T인덱스를 저장하여, 먼저번 저장한 값이 있으면 그 버텍스로,
    새로운것이 나왔으면 새로운 버텍스를 추가후, 새로운 인덱스를 만드는 방법이다.

    이렇게 해서 나온 버텍스와 인덱스를 가지고!! 버퍼에 저장하여 출력하면 오브젝트가 나온다!!!!!







    댓글

Designed by Tistory.