Программирование DirectX 12 - Рендеринг в текстуру

cube directx 12 render to texture

Исходный код для Visual Studio 2019:

DirectX 12 Рендеринг в текстуру - синхронизация CPU-GPU один CommandList
DirectX 12 Рендеринг в текстуру - синхронизация CPU-GPU три CommandList

Что бы программировать DirectX12 вам необходимо минимум Windows 10.

В первом примере в приложении имеется один CmdList. Мы подаем порцию команд (кадр) от CPU на GPU и после подачи команд CPU ждет GPU когда GPU закончит работу (см.функцию Draw_MeshManager()). После этого CPU подает на GPU следующий кадр.

Второй пример - имеется три CmdList, и приложение постоянно подает кадры от CPU на GPU не дожидаясь окончания работы GPU (хотя есть синхронизация для каждого CmdList). Таким образом GPU постоянно загружено очередью кадров, кадры в GPU посылаются один за другим, не дожидаясь окончания работы GPU как в первом примере.