Загрузка...

Entity Instancing, Control Size and Position, Engine Layers Explained

In this Tutorial I explain how the Engine is structured in different Layers while creating a Game Layer to draw 100 instanced Entities and change their Position. Wishlist & Demo: https://store.steampowered.com/app/2245620/Cakez_TD itch.io Demo: https://cakez77.itch.io/cakeztd Twitch: https://www.twitch.tv/cakez77 10:00am CEST 1:00am PDT Patreon: https://www.patreon.com/Cakez77 Discord: https://discord.gg/jVSX7YmEHj TokTok: https://www.tiktok.com/@cakez_77 (Funny Stream clips) Final Result: https://github.com/Cakez77/PongFromScratch/tree/16_proper_2D_render_interface Clone Branch: git clone --branch 06_game_layer https://github.com/Cakez77/PongFromScratch.git Pastebin, because YouTube shortens the Link https://pastebin.com/CHXSV2Zs Or Switch to Branch (might need git fetch): git fetch (could be needed, this fetches remote data) git checkout 06_game_layer Repository: https://github.com/Cakez77/PongFromScratch/tree/06_game_layer RenderDoc: https://renderdoc.org/ --- Timestamps--- 0:00 Engine Layers 1:50 Game Layer 5:32 Shared Render Types 6:27 GlobalUBO & Transform Storage Buffer 11:40 Automatic Shader Compilation 17:08 New Descriptor Layout 19:33 Changed Descriptor Pool Sizes 20:45 Updating Descriptor Set 27:25 Copy Entity Transforms to GPU 28:30 Index Buffer + Explanation 32:15 vkCmdDrawIndexed 33:33 RenderDoc 34:44 Entity Transforms in Shader 36:05 Normalized Device Coordinates Conversion 37:08 More Entities 38:22 Git Stuff I like structuring my Engine into Layers where the Platform Layer at the very bottom has access to virtually everything in the engine. Since we don't use classes to hide away anything and we also do what is called a "Unity" Build, we have to manage Access by ordering our Includes properly. A "Unity" Build means, that we only have one compilation Unit that we give to the Compiler. This makes Build Times very fast, even with Tens of Thousands lines of Code. The Game Layer will be above the Rendering Layer, since it should not worry about how it is being drawn. The Job of the Game is to manage Entities. The Job of the rendering Layer (Vulkan Renderer in our case) is to take those Entities and copy needed Data over to the GPU in order to draw them. I hope you liked the video, if you did you can support me by subscribing and leaving a like.

Видео Entity Instancing, Control Size and Position, Engine Layers Explained автора JavaScript для веб-мастеров
Страницу в закладки Мои закладки
Все заметки Новая заметка Страницу в заметки