1
그래서 내가 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;
}
그것은 다음과 같이 할 필요가
의 값을 가질 필요하지만 오류를 얻을 당신은 무효가 아닌 HRESULT를 반환하는 모든 Direct3D를 기능에 대한 HRESULT를 확인해야
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;
}