- skumbananaaa
- Posts: 6
- Joined:
C++ Vulkan Implementation
I created a Vulkan implementation of NoesisGUI in a game engine me and my friends are developing which uses Vulkan as the underlying graphics API. I thought I could share it here if anyone wants to take a look. I haven't had time to test it very much. Tiled rendering hasn't been tested at all. All the GUI code can be found in "GUI/Core".
The GUIRenderer in the engine is part of our RenderGraph rendering system, basically it receives resource updates from the RenderGraph, currently just the back buffer and a depth/stencil texture, all the other resources are created by the GUI system itself.
Since NoesisGUI uses alot of dynamic state I had to create different caches, the most complicated one is GUIPipelineStateCache, it manages and creates new Pipelines when requested depending on different requested dynamic state features.
Examples of these are:
The repo:
https://github.com/IbexOmega/CrazyCanvas
The GUIRenderer in the engine is part of our RenderGraph rendering system, basically it receives resource updates from the RenderGraph, currently just the back buffer and a depth/stencil texture, all the other resources are created by the GUI system itself.
Since NoesisGUI uses alot of dynamic state I had to create different caches, the most complicated one is GUIPipelineStateCache, it manages and creates new Pipelines when requested depending on different requested dynamic state features.
Examples of these are:
- Vertex Type
- Stencil Mode
- Blend Mode
The repo:
https://github.com/IbexOmega/CrazyCanvas
Re: C++ Vulkan Implementation
Great job! We are working in an official Vulkan renderer. Once we released it, please have a look at it to improve the offscreen part of your renderer.
EDIT: I added a link to this project here
EDIT: I added a link to this project here
- skumbananaaa
- Posts: 6
- Joined:
Re: C++ Vulkan Implementation
Yeah, thanks, I'll be sure to do that!
Who is online
Users browsing this forum: No registered users and 3 guests