@@ -472,15 +472,17 @@ void cg::renderer::dx12_renderer::populate_command_list()
472
472
command_list->RSSetViewports (1 , &view_port);
473
473
command_list->RSSetScissorRects (1 , &scissor_rect);
474
474
475
- command_list->IASetPrimitiveTopology (D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
476
-
477
475
D3D12_RESOURCE_BARRIER begin_barriers[] = {
478
476
CD3DX12_RESOURCE_BARRIER::Transition (
479
477
render_targets[frame_index].Get (),
480
478
D3D12_RESOURCE_STATE_PRESENT,
481
479
D3D12_RESOURCE_STATE_RENDER_TARGET)};
480
+
482
481
command_list->ResourceBarrier (_countof (begin_barriers), begin_barriers);
483
482
483
+
484
+
485
+
484
486
// Drawing
485
487
command_list->OMSetRenderTargets (
486
488
1 , &rtv_heap.get_cpu_descriptor_handle (frame_index),
@@ -490,11 +492,14 @@ void cg::renderer::dx12_renderer::populate_command_list()
490
492
rtv_heap.get_cpu_descriptor_handle (frame_index),
491
493
clear_color, 0 , nullptr );
492
494
493
- for (size_t s = 0 ; s < model->get_vertex_buffers ().size (); s++) {
495
+ command_list->IASetPrimitiveTopology (D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
496
+
497
+
498
+ for (size_t s = 0 ; s < model->get_index_buffers ().size (); s++) {
494
499
command_list->IASetVertexBuffers (0 , 1 , &vertex_buffer_views[s]);
495
500
command_list->IASetIndexBuffer (&index_buffer_views[s]);
496
501
command_list->DrawIndexedInstanced (
497
- static_cast <UINT>(model->get_index_buffers ()[s]->get_number_of_elements ()),
502
+ static_cast <UINT>(model->get_index_buffers ()[s]->count ()),
498
503
1 , 0 , 0 , 0 );
499
504
}
500
505
0 commit comments