FlingEngine
FlingEngine copied to clipboard
A Vulkan game engine with a focus on data oriented design
Right now the engine component model is somewhat monolithic and does not provide a clear path for users to go about making a new system. I think the best way...
There should be a `PipelineFlags` options for "Debug" which will build a render pipeline enabling you to draw wireframe meshes This is a really important feature that I want to...
Right now there is no way to change the rendering pipeline of a material. For example, if you wanted to change a mesh from a lit/shaded view to a wire...
glSlang shader compilation should happen within the engine -- this way we will not have to manually rerun a script every time we make changes to a shader.
Right now we rebuild the command buffers every frame. This is relatively cheap since we re-use the buffers and makes managing them much simpler. However, we do have the cost...
We should use a custom allocator instead of the default one. This will hopefully improve performance and be more scalable . I plan on using the [Open VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
[An extra null pointer check is not needed in functions](https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null "Do I need to check for null before delete p?") like the following. - [Engine::Shutdown](https://github.com/flingengine/FlingEngine/blob/092c1506c2a024cdb8dcc0642fabc183d5f3db9f/FlingEngine/Core/src/Engine.cpp#L113 "Engine::Shutdown function") - [MeshRenderer::Release](https://github.com/flingengine/FlingEngine/blob/092c1506c2a024cdb8dcc0642fabc183d5f3db9f/FlingEngine/Graphics/src/MeshRenderer.cpp#L30 "MeshRenderer::Release...
After coming back to this project it seems that we can no longer load the world file (json) and the engine crashes when you try to. Uh oh! We should...
Some of the submodules are out of date and I'd like to get it all compiling with up to date version of MSVC/Clang