The Game Engine Programming Series

None
0 comments
1 followers
40 entries
Advertisement
GameEngineSeries
June 28, 2023
Game Engine Programming 034.1 - A texture class for the Direct3D 12 render engine | C++ Game Engine

Today, I'm going to write a class that represents a texture resource in the low-level render engine. We can use this class to read form texture data while rendering objects. In addition, we can also use it to create textures that can be written to by the graphics pipeline. For example, we can use i…

11,807 views
GameEngineSeries
December 28, 2022
Game Engine Programming 033.2 - Use the free-list with utl::vector and std::vector | C++ Game Engine

Previously, I wrote a free-list container which had a vector as its buffer and I ran into the problem of conflicting destruction of items which made it necessary to write our own vector container that has an extra template parameter to control whether the items should be destructed upon deletion or…

9,220 views
GameEngineSeries
November 21, 2022
Game Engine Programming 033.1 - Free-list and vector containers | C++ Game Engine

Today's video is less related to game engine programming and more about creating utility functions that we need in order to organize the data within the engine. Of course, it's hard to go about without good containers and as we have seen in the previous episodes we're desperately in need of having …

7,974 views
GameEngineSeries
October 22, 2022
Game Engine Programming 032.2 - Using the render surface | C++ Game Engine

In the last video, I made a render surface class that uses a DXGI swap chain and today I'm going to integrate that class into our low-level renderer, so that we can create render surfaces and use them for displaying each frame. 

?(Red Episode) 

✅ Support Game Engine Series https://patreon.c…

8,800 views
GameEngineSeries
September 30, 2022
Game Engine Programming 032.1 - DirectX (DXGI) Swap Chain | C++ Game Engine

Right now we're in the middle of implementing a DirectX 12 renderer and so far we've created a d3d12 device, a command structure to submit work to GPU, and we spent the last episode writing a descriptor heap allocator which helps us to easily place descriptors in descriptor heaps. Now we've got eno…

10,055 views
GameEngineSeries
September 17, 2022
Game Engine Programming 031.2 - Finishing descriptor heap allocator | C++ Game Engine

In the last video we started implementing an allocator class for managing descriptor heaps. After writing the initialize and allocate functions, we ran into a problem caused by the fact that resources and descriptors can't be removed in an immediate fashion, because we're using a multi-frame render…

12,540 views
GameEngineSeries
September 04, 2022
Game Engine Programming 031.1 - Descriptor heap allocator | C++ Game Engine

In this new episode, I'm going to write an allocator class that keeps track of resource descriptors for our graphics resources. I'll start with a high-level explanation of resources, descriptors and descriptor heaps and will continue implementing the allocator class. (Red Episode)

Support Game Engin…

11,081 views
Advertisement
GameEngineSeries
June 17, 2022
Game Engine Programming 030.2 - Synchronizing CPU and GPU | C++ Game Engine

In the last video, we set up a command queue, command list and a set of command allocators to be used for multiple frame buffers in such a way that enables the CPU and GPU to work in parallel. However, because we have a limited number of frame buffers, we need to synchronize CPU and GPU. In this vi…

5,776 views
GameEngineSeries
May 26, 2022
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 …

7,759 views
GameEngineSeries
April 24, 2022
Game Engine Programming 029.2 - Initializing DirectX 12 | C++ Game Engine

Previously, I set up the high-level renderer and defined how it would interact with a low-level renderer through an interface. I also added the required headers for DirectX 12 so that we can access its API. Today, I'm going to start with writing the initialization and shutdown code for the D3D12 lo…

10,519 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
14 Followers
klg71
Generalist
57 Entries
2 Followers
ApochPiQ
Generalist
628 Entries
45 Followers
15 Entries
14 Followers
johnhattan
Programmer
1,277 Entries
50 Followers
Advertisement