Итак, я начинаю создавать программу с использованием DirectX11. У меня возникли проблемы с пониманием, почему, когда я использую IASetVertexBuffers(), я получаю сообщение об ошибке, когда я использую 1 для количества буферов в массиве. Но когда я переключаю значение на 0, он загружается просто отлично. Она должна иметь значение 1.IASetVertexBuffers не работает
BOOL Graphics::InitializeVertexBuffer(D3D11_USAGE Usage, INT BindFlags, INT CPUAccessFlags, INT MiscFlags)
{
D3D11_BUFFER_DESC D3D11BufferDesc;
D3D11BufferDesc.Usage = Usage;
D3D11BufferDesc.ByteWidth = sizeof(VERTEX) * 3;
D3D11BufferDesc.BindFlags = BindFlags;
D3D11BufferDesc.CPUAccessFlags = CPUAccessFlags;
D3D11BufferDesc.MiscFlags = MiscFlags;
D3D11Device->CreateBuffer(&D3D11BufferDesc, NULL, &VertexBuffer);
D3D11DeviceContext->IASetVertexBuffers(0, 0, &VertexBuffer, NULL, NULL);
return 1;
}
Он должен быть следующим, но я получаю сообщение об ошибке
BOOL Graphics::InitializeVertexBuffer(D3D11_USAGE Usage, INT BindFlags, INT CPUAccessFlags, INT MiscFlags)
{
D3D11_BUFFER_DESC D3D11BufferDesc;
D3D11BufferDesc.Usage = Usage;
D3D11BufferDesc.ByteWidth = sizeof(VERTEX) * 3;
D3D11BufferDesc.BindFlags = BindFlags;
D3D11BufferDesc.CPUAccessFlags = CPUAccessFlags;
D3D11BufferDesc.MiscFlags = MiscFlags;
D3D11Device->CreateBuffer(&D3D11BufferDesc, NULL, &VertexBuffer);
D3D11DeviceContext->IASetVertexBuffers(0, 1, &VertexBuffer, NULL, NULL);
return 1;
}