D3D11_BUFFER_DESC vertexBufferDesc, indexBufferDesc; D3D11_SUBRESOURCE_DATA vertexData, indexData; HRESULT result; // Set up the description of the static vertex buffer ZeroMemory(&vertexBufferDesc, sizeof(vertexBufferDesc)); vertexBufferDesc.Usage = D3D11_USAGE_DEFAULT; vertexBufferDesc.ByteWidth = sizeof(Vertex) * mVertexCount; vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; vertexBufferDesc.CPUAccessFlags = 0; vertexBufferDesc.MiscFlags = 0; vertexBufferDesc.StructureByteStride = 0; // Give the subresource structure a pointer to the vertex data ZeroMemory(&vertexData, sizeof(vertexData)); vertexData.pSysMem = mVertices; vertexData.SysMemPitch = 0; vertexData.SysMemSlicePitch = 0; // Now create the vertex buffer result = Window::Singleton->Device->CreateBuffer(&vertexBufferDesc, &vertexData, &mVertexBuffer); if(FAILED(result)) { return false; } // Set up the description of the static index buffer ZeroMemory(&indexBufferDesc, sizeof(indexBufferDesc)); indexBufferDesc.Usage = D3D11_USAGE_DEFAULT; indexBufferDesc.ByteWidth = sizeof(UShort) * mIndexCount; indexBufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER; indexBufferDesc.CPUAccessFlags = 0; indexBufferDesc.MiscFlags = 0; indexBufferDesc.StructureByteStride = 0; // Give the subresource structure a pointer to the index data ZeroMemory(&indexData, sizeof(indexData)); indexData.pSysMem = mIndices; indexData.SysMemPitch = 0; indexData.SysMemSlicePitch = 0; // Create the index buffer result = Window::Singleton->Device->CreateBuffer(&indexBufferDesc, &indexData, &mIndexBuffer); if(FAILED(result)) { return false; }