Добавить
Уведомления

Game Engine Programming 030.1 - GPU work submission | C++ Game Engine

Last time, we set up the graphics engine architecture, consisting of a high-level renderer and one or more low-level renderers. We also started implementing a DirectX 12 renderer and, so far, we successfully initialized a Direct3D device that represents the graphics card. In this episode, we'll be writing the code for submitting work to the GPU using commands. (Red Episode) Support Game Engine Series: https://patreon.com/gameengineseries Discord: https://discord.gg/75ZmXwz Big thanks to Shaman patrons: Eearslya Sleiarion Michael McMahon Shaun Mitchell Neil Wang About the intro: This is an animation I made back in 2003 using NewTek Lightwave on a Pentium 3 PC. Doing a fully raytraced rendering in a tiny 640*480 resolution took several hours. I believe I let it run over night to render 11 seconds of animation! Hopefully, I'll be able to do this in real-time using Primal engine, someday :) 00:00 - intro 00:47 - explain work submission to GPU 02:37 - little bug fix for tests 04:23 - add render function to graphics interface 05:32 - write a class to manage work submission using command queue, list and allocators 06:50 - create a D3D12 command queue 09:56 - create a graphics command list 10:55 - add a private class that contains a command allocator 12:58 - new debug macro for naming multiple D3D12 objects 14:57 - write begin_frame() and end_frame() functions keywords: graphics rendering, direct3d 12, directx 12 by Arash Khatami ------------------------------------------------------------- #PrimalEngine #GameEngineSeries #GameEngineProgramming #TheGameEngineProgrammingSeries

12+
16 просмотров
2 года назад
12+
16 просмотров
2 года назад

Last time, we set up the graphics engine architecture, consisting of a high-level renderer and one or more low-level renderers. We also started implementing a DirectX 12 renderer and, so far, we successfully initialized a Direct3D device that represents the graphics card. In this episode, we'll be writing the code for submitting work to the GPU using commands. (Red Episode) Support Game Engine Series: https://patreon.com/gameengineseries Discord: https://discord.gg/75ZmXwz Big thanks to Shaman patrons: Eearslya Sleiarion Michael McMahon Shaun Mitchell Neil Wang About the intro: This is an animation I made back in 2003 using NewTek Lightwave on a Pentium 3 PC. Doing a fully raytraced rendering in a tiny 640*480 resolution took several hours. I believe I let it run over night to render 11 seconds of animation! Hopefully, I'll be able to do this in real-time using Primal engine, someday :) 00:00 - intro 00:47 - explain work submission to GPU 02:37 - little bug fix for tests 04:23 - add render function to graphics interface 05:32 - write a class to manage work submission using command queue, list and allocators 06:50 - create a D3D12 command queue 09:56 - create a graphics command list 10:55 - add a private class that contains a command allocator 12:58 - new debug macro for naming multiple D3D12 objects 14:57 - write begin_frame() and end_frame() functions keywords: graphics rendering, direct3d 12, directx 12 by Arash Khatami ------------------------------------------------------------- #PrimalEngine #GameEngineSeries #GameEngineProgramming #TheGameEngineProgrammingSeries

, чтобы оставлять комментарии