@@ -472,15 +472,17 @@ void cg::renderer::dx12_renderer::populate_command_list()
472472 command_list->RSSetViewports (1 , &view_port);
473473 command_list->RSSetScissorRects (1 , &scissor_rect);
474474
475- command_list->IASetPrimitiveTopology (D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
476-
477475 D3D12_RESOURCE_BARRIER begin_barriers[] = {
478476 CD3DX12_RESOURCE_BARRIER::Transition (
479477 render_targets[frame_index].Get (),
480478 D3D12_RESOURCE_STATE_PRESENT,
481479 D3D12_RESOURCE_STATE_RENDER_TARGET)};
480+
482481 command_list->ResourceBarrier (_countof (begin_barriers), begin_barriers);
483482
483+
484+
485+
484486 // Drawing
485487 command_list->OMSetRenderTargets (
486488 1 , &rtv_heap.get_cpu_descriptor_handle (frame_index),
@@ -490,11 +492,14 @@ void cg::renderer::dx12_renderer::populate_command_list()
490492 rtv_heap.get_cpu_descriptor_handle (frame_index),
491493 clear_color, 0 , nullptr );
492494
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++) {
494499 command_list->IASetVertexBuffers (0 , 1 , &vertex_buffer_views[s]);
495500 command_list->IASetIndexBuffer (&index_buffer_views[s]);
496501 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 ()),
498503 1 , 0 , 0 , 0 );
499504 }
500505
0 commit comments