Mercurial > LightClone
view LightClone/Source/VertexTypes.cpp @ 74:40c0b5305de8
Work on removing ScreenManager
author | koryspansel |
---|---|
date | Tue, 18 Oct 2011 11:56:49 -0700 |
parents | efd2b1ca5b77 |
children |
line wrap: on
line source
/* * VertexTypes */ #include "VertexTypes.h" /* * Vertex::Block::Declaration */ IDirect3DVertexDeclaration9* Vertex::Block::Declaration = NULL; /* * Vertex::Quad::Declaration */ IDirect3DVertexDeclaration9* Vertex::Quad::Declaration = NULL; /* * Vertex::ColorQuad::Declaration */ IDirect3DVertexDeclaration9* Vertex::ColorQuad::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; } } { const D3DVERTEXELEMENT9 kElements[] = { {0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, {0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0}, {0, 20, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0}, D3DDECL_END(), }; HRESULT hResult = pDevice->CreateVertexDeclaration(kElements, &Vertex::ColorQuad::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; } }