Эй, ребята, я должен использовать функции DeviceContext как IASetVertexBuffers, IASetPrimitiveTopology, VSSetShader путем создания какДолжен ли я использовать функции DeviceContext для ввода в конвейер в цикле или путем создания?
void init() {
//create window and stuff
devicecontext->IASetVertexBuffers(...);
}
void draw() {
//draw
}
или в петле, как
void init() {
//create window and stuff
}
void draw() {
devicecontext->IASetVertexBuffers(...);
//draw
}
и вот мой код, что им на самом деле с помощью
void ARenderer::Draw(AMesh * mesh, AShader* shader)
{
ARenderer::SetViewport(currentviewport);
ARenderer::ApplyShader(shader);
///Drawing
uint32_t stride = sizeof(AVertex);
uint32_t offset = 0;
dxmanager->DeviceContext->IASetVertexBuffers(0, 1, mesh->GetBuffer().GetAddressOf(), &stride, &offset);
dxmanager->DeviceContext->IASetPrimitiveTopology(static_cast<D3D11_PRIMITIVE_TOPOLOGY>(mesh->GetPrimitive()));
dxmanager->DeviceContext->Draw(mesh->GetVertexCount(), 0);
}