Trying to build as much of Quake 3 as I can using Haskell & Vulkan.
[ ] Fix on-termination errors
[ ] Determine the presentation queue
[ ] Check for VK_KHR_SWAPCHAIN_EXTENSION_NAME
[ ] Frame fences to limit in flight frames
[ ] Check that VK_KHR_swapchain is supported
[ ] Use cabal2nix to generate Nix environment
[ ] Move logging from main to functions themselves
Began work on Bezier surface tessellation
[X] Fixed physics timestep
[X] Parse the entities lump for the initial spawn point
[X] Better input handling
[X] Remove accidental rotation of the world
[X] Use the Vulkan correction matrix
[X] Correctly determine the format of the depth buffer
[X] Remove Quake3.Vertex coupling from Vulkan.* modules
[X] Form a module structure
[X] Add a first person camera
[X] Make use of the depth buffer
[X] Introduce model/view/projection matrix via a uniform buffer
[X] Find out how to correctly use vulkan-loader
It currently requires me to change LD_LIBRARY_PATH
to contain
vulkan-loader.so.
[X] A DSL for building Vulkan structs
[X] Finish recording a render pass to the command buffer
[X] Add the validation layer
[X] Submit the command buffer for rendering
[X] We have a blue screen!