A collection of utlitity functions designed to facilitate creating 3D games with Vulkan and SDL. The Main Branch is basic. Taken as a whole, GF3D will work as a simple game engine. Branches contain sample code for implementing different features of a 3D Game. The "master" branch contains the latest and greatest, but it is meant to be a submodule
gf3d_uniform_buffers is now a thing allowing for more ad-hoc draw calls.
Need to add support for this system to overlay layer
and now we can break highlight and model draw calls apart
Instead of hardcoding that each pipeline has 1 fragment shader and 1 vertex shader, they should be organized into a type. The pipelines should have an array for them to be accessed if needed.
ST_Vertex
ST_Fragment
ST_Geometry
ST_Tesselation
ST_Etc
However the code snippet is written in c++ and would have to be implemented in c in this project. I tried doing so but go really confused as I never worked with the vulkan api before. However it should be pretty simple because if the VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME is set then add the flags and extensions.
The graphics system is too aware of the sub processes for drawing.
Need to clean up the resetting of pipelines
the command buffers gained
the submission of the commands