Patrefans
The Cherno from patreon
The Cherno patreon

[EXCLUSIVE VIDEO] Hazel's New Renderer (Part 1)

🕑 Added 2023-04-17 07:44:52 +0000 UTC

Comments

Tesla Coil

I liked the video, but I would prefer more Vulkan focused talks since we are talking about the Renderer, and how/why did you come up with the solutions :) for example I'm very interested in the DescriptorSetManager and how are you binding them inside the command buffers for rendering. Also I'm very interested on how you compile shaders now, and how can you include shaders in other shaders. Thank you!

Ivan Yanakiev

Thank you for the content and the game engine series it has been amazing. I was actually currently implementing a uniform buffer system. Since I am not that familiar with game engine programming I am currently basing my engine on OpenGL, although I am first compiling to SPIR-V and then to OpenGL, then reflecting on the binary. I agree that sets are very useful but I also feel like you can get away with bindings only. In my shaders I mainly seperate the layouts into 2 types, Engine types and Shader types (store specific material information like maps) . I then have 1 uniform buffer across the whole engine for 1 Engine Type and I have 1 buffer per shader type per shader. When I draw lets say a frame you need to bind the proper engine type of buffer to the proper binding only once and then for each material bind its types also once. So if I have 1000 meshes I will set the engine buffer ones and then bind and send data to the material 1000 times if the data is different which it can be, for example 1000 normal maps. I haven't implemented it yet but I feel like you can simulate the sets like that. Grouping data into dufferent layouts and then updating the layouts either per material type, shader type, or only ones for the ones that are used per frame (or lets say per renderpass since I know you use these, I haven't gotten around to implementing it yet). Once again very nice video!!


More Creators