Instanced Rendering but I am dumb. Game Engine ep. #2

The more I know the less I know. Another episode of me cooking up some spaghetti, and hopefully someone has the appetite for it.
GitHub repository:
github.com/Code-Gains/DX11-En...
Performance was tested using Nvidia GeForce RTX 3080 & Ryzen 7700x, have in mind that recording high framerate applications reduces the framerate by more than 2x times. The cubes were also rendered from the inside.
0:00 Intro
1:49 Episode Title
2:06 GitHub Tasks
2:28 Previous Rendering Setup
3:14 Problems With Regular Rendering
4:20 Nvidia MythBusters GPU demo
4:52 GPU Cores
5:06 What We Need To Do
5:19 Instance Pools
6:39 Memory Access Violation?
7:37 Pseudocode
8:58 Meh Coding Montage & Final Code
9:24 Performance Comparison
10:25 Future Gravity Simulations
10:58 Nothing Is Instant
Music:
Intro:
Brazil Samba - Benjamin Tissot
Background:
Awake - Emmit Fenn
On The Rocks - TrackTribe
Staycation - Corbyn Kites
High Noon - TrackTribe
Jane Street - TrackTribe
Music by: www.bensound.com
License code: DDFUI3OIJNHMVIAR

Пікірлер: 9

  • @43DM
    @43DM8 ай бұрын

    Love your videos, somehow they always seem aligned with my own journey so there's a bunch I can relate and learn from. Instancing is exactly what I'm on with - or should I say should be on with, I've somehow wound up being totally sidelined by trying to use fonts in OpenGL. Loving the solutions, and as always well edited videos. Keep on chipping away!

  • @Code_Gains

    @Code_Gains

    8 ай бұрын

    Thanks, good luck to you as well!

  • @arnoldaz
    @arnoldaz8 ай бұрын

    God tier video as always, but why did you made instance pools for each specific type, wouldn't that be bad if one type has much more instances than others? Would it be possible to group instances for each specific chunk or something?

  • @Code_Gains

    @Code_Gains

    8 ай бұрын

    I wanted to avoid clumping different geometry types into one structure since they never are treated as the same type (due to base models being completely different I would still need to keep track of how many instances for each type I have and I can't render 2 different models mixed in one batch anyway). If I wanted to properly multithread this I would need to come up with some sort of a solution to split into batches for each thread to equalize the load, but I would still avoid using one large pool, because there is much more room for mistakes and accidentally accessing model of a different type would result in some sort of corrupted rendering rather than a crash (which is easier to debug).

  • @InfiniteCoder01
    @InfiniteCoder018 ай бұрын

    DirectX API is quite nice. Instance rendering in it is quite a bit easier then with OpenGL. But OpenGL has errors.

  • @AriinPHD

    @AriinPHD

    2 ай бұрын

    windows user detected

  • @InfiniteCoder01

    @InfiniteCoder01

    2 ай бұрын

    @@AriinPHD I am running Arch btw. Also, started porting PostmarketOS to my phone)

  • @aecl4287

    @aecl4287

    2 ай бұрын

    @@AriinPHD Just because someone supports something good, doesn't mean that they are fanboys of it or anything. For example, if I say "The new iPhone 15 is pretty solid" That doesn't make instantly make me an Apple user or Apple fanboy.

  • @fffas3982
    @fffas39828 ай бұрын

    Великолепно

Келесі