#include "Mesh.h" #include "Utilities.h" #include "Vertex.h" UINT Mesh::init(IDirect3DDevice9* pD3DDevice) { UINT error = 0; error = createVertexBuffer(pD3DDevice); CheckError(error); error = createIndexBuffer(pD3DDevice); CheckError(error); return 0; } void Mesh::update(FLOAT dt) { } void Mesh::render(IDirect3DDevice9* pD3DDevice) { } void Mesh::deInit() { safeRelease(_pIndexBuffer); safeRelease(_pVertexBuffer); } UINT Mesh::createVertexBuffer(IDirect3DDevice9* pD3DDevice) { // 1. define mesh structure _vertexCount = 3; _vertexStride = sizeof(Vertex); // 2. create vertex buffer WITHOUT data HRESULT hr = pD3DDevice->CreateVertexBuffer( _vertexCount * _vertexStride, // vertex buffer byte length D3DUSAGE_WRITEONLY, // vertex buffer access mode FVF, // FVF - Flexible Vertex Format D3DPOOL_MANAGED, // video memory management &_pVertexBuffer, nullptr // not used anymore ); // 3. fill vertex buffer with data return 0; } UINT Mesh::createIndexBuffer(IDirect3DDevice9* pD3DDevice) { return 0; }