GamePrograming/Direct3D
-
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 정보와 INDE..
-
ASE Animation [ *NODE_TM ]GamePrograming/Direct3D 2009. 3. 26. 11:45
*NODE_TM { *NODE_NAME "Bip01" //노드의 이름 *INHERIT_POS 0 0 0 //상속정보를 의미하나 잘사용되진 않는다. *INHERIT_ROT 0 0 0 *INHERIT_SCL 1 1 1 //이부분은 POS, ROT, SCL값들이 곱해져 메트릭스로 정의 되있다, //이부분의 값이 제일 중요하며, NODE TM 메트릭스로 정의해놓으면된다, *TM_ROW0 0.0000-0.9537-0.3007 *TM_ROW1 1.00000.00000.0000 *TM_ROW2 0.0000-0.30070.9537 *TM_ROW3 0.0299-0.02580.5602 *TM_POS 0.0299-0.02580.5602 *TM_ROTAXIS -0.1504-0.15040.9771 *TM_ROTANGLE 1.5..
-
ASE Animation [ *MATERIAL_LIST ]GamePrograming/Direct3D 2009. 3. 26. 10:46
Material을 의미한다, Object중 GeoObject에서 사용하는 Material을 List형태로 나열해 놓았으며 각 Material에는 번호를 붙여 놓아서 GeoObject에서는 이번호를 참조해, 어떤 Material을 사용하는지 알아내도록 되어있다. *MATERIAL_LIST { *MATERIAL_COUNT 1 *MATERIAL 0 { *MATERIAL_NAME "6 - Default" *MATERIAL_CLASS "Standard" *MATERIAL_AMBIENT 0.58820.58820.5882 *MATERIAL_DIFFUSE 0.58820.58820.5882 *MATERIAL_SPECULAR 0.90000.90000.9000 *MATERIAL_SHINE 0.1000 *MATERIAL_SH..
-
ASE Animation [ *SCENE ]GamePrograming/Direct3D 2009. 3. 26. 10:38
ASE의 제일 앞쪽에 나오는 정보로 버전정보나 전체 프레임수 등 ASE에 대한 기본적인 정보를 표시해 준다. *SCENE { *SCENE_FILENAME "run_ex_00.max" *SCENE_FIRSTFRAME 4 *SCENE_LASTFRAME 20 *SCENE_FRAMESPEED 30 *SCENE_TICKSPERFRAME 160 *SCENE_BACKGROUND_STATIC 0.00000.00000.0000 *SCENE_AMBIENT_STATIC 0.00000.00000.0000 } *SCENE_LASTFRAME 과 *SCENE_TICKSPERFRAME 값을 곱하면, 애니메이션 TICK의 최종값을 알수 있다.
-
라이트 맵핑GamePrograming/Direct3D 2009. 3. 6. 15:57
VOID Render() { D3DXMATRIXA16 matWorld; ///후면 버퍼와 Z버퍼 초기화 g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 255), 1.0f, 0); /// 에니메이션 행렬 설정 Animate(); if(SUCCEEDED(g_pd3dDevice->BeginScene())) { g_pd3dDevice->SetTexture(0, g_pTex0); ///0번 텍스쳐 스테이지에 텍스쳐 고정(벽면) g_pd3dDevice->SetTexture(1, g_pTex1); ///1번 텍스쳐 스테이지에 텍스쳐 고정(라이트맵) ///0번 텍스쳐 : 0번텍스쳐 인덱스 사용 g_pd3dDevic..
-
MeshGamePrograming/Direct3D 2009. 3. 5. 14:09
한 Mesh안에 메티리얼 정보와, 텍스쳐 정보가 여러가지 이므로, 포인터 선언후 동적할당한다. LPDIRECT3D9g_pD3D= NULL;///D3D디바이스를 생성 LPDIRECT3DDEVICE9g_pd3dDevice= NULL;///렌더링에 사용될 D3D 디바이스 LPD3DXMESHg_pMesh= NULL;///메시 객체 D3DMATERIAL9*g_pMeshMaterials= NULL;///메시에서 사용할 재질 LPDIRECT3DTEXTURE9*g_pMeshTextures= NULL;///메시에서 사용할 텍스쳐 DWORDg_dwNumMaterials = 0L;///메시에서 사용중인 재질의 개수 [ D3DXLoadMeshFromX ] D3d 디바이스, LPD3DXBUFFER 임시버퍼, g_dwNumMat..