/// Initialise a dynamic vertex buffer for rendering imposters.
bool ImposterSystem::InitVertexBuffer()
{
	int vertexSize = sizeof(ImposterVertex);
	int vertexBufferSize = m_MaxNumImposters * NUM_IMPOSTER_VERTS * vertexSize;
	int usage = D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC;
	int vertFVF = D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1;
	HRESULT hr;
	LPDIRECT3DDEVICE9 pD3DDevice = DXUTGetD3DDevice();
	hr = pD3DDevice->CreateVertexBuffer(vertexBufferSize, usage,
						   vertFVF, D3DPOOL_DEFAULT,
						   &m_pVertexBuffer, NULL);
	if (FAILED(hr))
	{
		ReportD3DError(hr);
		return false;
	}

	return true;
}