Skip to content

Latest commit

 

History

History
86 lines (51 loc) · 2.04 KB

ocharles.plan.org

File metadata and controls

86 lines (51 loc) · 2.04 KB

Zero to Quake 3

Trying to build as much of Quake 3 as I can using Haskell & Vulkan.

Todo

[ ] Fix on-termination errors

[ ] Add texturing

[ ] Determine the presentation queue

[ ] Check for VK_KHR_SWAPCHAIN_EXTENSION_NAME

[ ] Triple buffering

[ ] 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

<2018-09-30 Sun>

Began work on Bezier surface tessellation

<2018-09-18 Tue>

[X] Fixed physics timestep

[X] Parse the entities lump for the initial spawn point

<2018-09-14 Fri>

[X] Better input handling

<2018-09-13 Thu>

[X] Remove accidental rotation of the world

[X] Use the Vulkan correction matrix

[X] Weird z-fighting

[X] Correctly determine the format of the depth buffer

[X] Remove Quake3.Vertex coupling from Vulkan.* modules

<2018-09-11 Tue>

[X] BSP Loading

<2018-09-08 Sat>

[X] Form a module structure

[X] Add a first person camera

Thursday

[X] Use an index buffer

[X] Make use of the depth buffer

Wednesday

[X] Introduce model/view/projection matrix via a uniform buffer

Sunday

[X] Find out how to correctly use vulkan-loader

It currently requires me to change LD_LIBRARY_PATH to contain vulkan-loader.so.

[X] Use vertex buffers

Friday

[X] A DSL for building Vulkan structs

[X] Resource cleanup

[X] Render a triangle!

Thursday

[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!

Tuesday

[X] Build a render pass