Mercurial > LightClone
view LightClone/Source/VertexTypes.cpp @ 18:33cb6979ac51
More work on GUI system
author | koryspansel |
---|---|
date | Wed, 14 Sep 2011 17:24:49 -0700 |
parents | 7e3a0ae9c016 |
children | efd2b1ca5b77 |
line wrap: on
line source
/* * VertexTypes */ #include "VertexTypes.h" /* * BlockVertex::Declaration */ IDirect3DVertexDeclaration9* Vertex::Block::Declaration = NULL; /* * QuadVertex::Declaration */ IDirect3DVertexDeclaration9* Vertex::Quad::Declaration = NULL; /* * InitializeVertexTypes */ ErrorCode InitializeVertexTypes(IDirect3DDevice9* pDevice) { { const D3DVERTEXELEMENT9 kElements[] = { {0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, {0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0}, {0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0}, D3DDECL_END(), }; HRESULT hResult = pDevice->CreateVertexDeclaration(kElements, &Vertex::Block::Declaration); if(FAILED(hResult)) { return Error_Fail; } } { const D3DVERTEXELEMENT9 kElements[] = { {0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, {0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0}, D3DDECL_END(), }; HRESULT hResult = pDevice->CreateVertexDeclaration(kElements, &Vertex::Quad::Declaration); if(FAILED(hResult)) { return Error_Fail; } } return Error_Success; } /* * TerminateVertexTypes */ void TerminateVertexTypes() { if(Vertex::Quad::Declaration) { Vertex::Quad::Declaration->Release(); Vertex::Quad::Declaration = NULL; } if(Vertex::Block::Declaration) { Vertex::Block::Declaration->Release(); Vertex::Block::Declaration = NULL; } }