Commit Graph
62 Commits
Author SHA1 Message Date
Camden Dixie O'Brien a73975a766 Create orthographic projection function 2025-10-05 13:51:13 +01:00
Camden Dixie O'Brien 6e37b45f28 Add descriptor for shadow map 2025-10-04 21:27:46 +01:00
Camden Dixie O'Brien 3dc7c73296 Create shadow map sampler 2025-10-04 21:27:46 +01:00
Camden Dixie O'Brien 633a922e42 Run shadow render pass and compute light position in vertex shaders 2025-10-04 21:27:46 +01:00
Camden Dixie O'Brien 73340b3a39 Create shadow pipeline 2025-10-04 21:27:46 +01:00
Camden Dixie O'Brien 8725f3082c Create shadow framebuffer 2025-10-04 14:59:32 +01:00
Camden Dixie O'Brien da10aaab41 Create shadow map image 2025-10-04 14:50:53 +01:00
Camden Dixie O'Brien cffe42e72b Create shadow render pass 2025-10-04 14:49:40 +01:00
Camden Dixie O'Brien aa2fc4a41a Create function for image creation 2025-10-04 14:25:14 +01:00
Camden Dixie O'Brien 2cf4f6832d Pre-multiply V and P matrices 2025-10-04 14:10:00 +01:00
Camden Dixie O'Brien e7f4f4b51d Combine render functions into single gpu_render() 2025-10-04 11:51:53 +01:00
Camden Dixie O'Brien bf2e49a1eb Adjust light direction and view angle 2025-10-04 01:03:04 +01:00
Camden Dixie O'Brien 1009952a7b Add floor 2025-10-04 01:02:55 +01:00
Camden Dixie O'Brien c24d3f4f27 Move some things around to prepare for multiple pipelines 2025-10-04 00:26:43 +01:00
Camden Dixie O'Brien ea82627695 Send view and project matrices in push constant 2025-10-03 23:42:54 +01:00
Camden Dixie O'Brien f3aa7435ec Restructure things a little to enable multiple models 2025-10-03 22:33:11 +01:00
Camden Dixie O'Brien 4c3fe8d8f7 Handle skipped keyframes 2025-10-02 17:42:25 +01:00
Camden Dixie O'Brien 7bc84e9465 Tweak model transform so walking looks right 2025-10-02 17:42:06 +01:00
Camden Dixie O'Brien f4096b5a07 Implement linear interpolation between animation keyframes 2025-10-02 17:28:03 +01:00
Camden Dixie O'Brien 381890892b Implement step-wise animation locked to time series 2025-10-02 15:49:42 +01:00
Camden Dixie O'Brien 4c94812b48 Implement basic keyframe-per-frame animation 2025-10-02 15:32:46 +01:00
Camden Dixie O'Brien 2a603dc364 Rework bone and animation structure 2025-10-02 15:32:46 +01:00
Camden Dixie O'Brien ffa0beb55a Load animation data into model 2025-10-02 12:42:09 +01:00
Camden Dixie O'Brien f24a920e66 Implement animation info extraction form glTF JSON 2025-10-02 03:59:17 +01:00
Camden Dixie O'Brien 7243b51149 Apply skinning matrix in vertex shader 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 16c4fe3704 Fix mixed up image counts 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 3806fa97a3 Fix incorrect index data size 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 8bd595989d Load bone matrices for each frame 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 74309be52c Add uniform descriptor for bone matrices 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien e42986adc3 Create buffer for bone matrices 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 1aaf5a53b8 Add input bindings for bone indices and weights 2025-10-02 03:59:16 +01:00
Camden Dixie O'Brien 998d5e88e1 Implement bone matrix computation 2025-10-01 21:05:52 +01:00
Camden Dixie O'Brien e81061ad22 Check parent bones come before child bones 2025-10-01 14:41:46 +01:00
Camden Dixie O'Brien ec29f44db0 Load inverse bind matrices into model 2025-10-01 14:28:05 +01:00
Camden Dixie O'Brien 2e1a604d7b Load bones, bone indices and weights into model 2025-10-01 13:59:19 +01:00
Camden Dixie O'Brien 955f606fb5 Tidy up GLB loading a little 2025-10-01 10:50:30 +01:00
Camden Dixie O'Brien 6454098c6a Load joint info from GLB 2025-10-01 10:50:30 +01:00
Camden Dixie O'Brien 221d68906d Implement basic GLB model loading 2025-10-01 10:50:30 +01:00
Camden Dixie O'Brien 4249023d33 Add mat4_t casts to matrix macros 2025-10-01 10:50:30 +01:00
Camden Dixie O'Brien d221bb6c07 Move Utah teapot model reading code into dedicated module 2025-10-01 10:50:30 +01:00
Camden Dixie O'Brien 9f56e2a614 Enable back-face culling 2025-09-29 17:11:32 +01:00
Camden Dixie O'Brien 4c6015cbc9 Reanme SWAPCHAIN_IMG_BUFFER_SIZE to MAX_FRAMES_IN_FLIGHT 2025-09-29 17:11:32 +01:00
Camden Dixie O'Brien e75498ff71 Switch to using uniform buffer for MVP matrices 2025-09-29 17:11:32 +01:00
Camden Dixie O'Brien f82f829980 Add model files to .gitignore 2025-09-29 17:11:32 +01:00
Camden Dixie O'Brien 32a31a729f Implement lambertian shading w/ directional light 2025-09-29 12:16:14 +01:00
Camden Dixie O'Brien 620cf7606b Implement Utah teapot model loading 2025-09-29 12:16:10 +01:00
Camden Dixie O'Brien f546f27a42 Create linear algebra module 2025-09-28 13:57:09 +01:00
Camden Dixie O'Brien 74f15dd132 Define lookat() function for computing view matrices 2025-09-28 12:47:18 +01:00
Camden Dixie O'Brien 59f584d1d4 Use struct for mat4_t instead of array 2025-09-28 01:46:59 +01:00
Camden Dixie O'Brien 6a5dba2600 Use struct for vec3_t instead of array 2025-09-27 22:53:52 +01:00
Camden Dixie O'Brien 7f4dffc7fb Switch to 3D geometry 2025-09-27 18:20:02 +01:00
Camden Dixie O'Brien 4180c4549b Add depth buffering 2025-09-27 18:19:38 +01:00
Camden Dixie O'Brien d7d2462835 Add x, y, z keys to change rotation axis 2025-09-27 15:50:05 +01:00
Camden Dixie O'Brien f265d3777d Add ROT_X and ROT_Z macros 2025-09-27 14:43:25 +01:00
Camden Dixie O'Brien d1f29580ae Implement perspective projection matrix computation 2025-09-27 14:18:32 +01:00
Camden Dixie O'Brien 3d10fe76ce Add MVP projection passed through push constant 2025-09-27 14:18:32 +01:00
Camden Dixie O'Brien c770895217 Use indexed drawing 2025-09-26 14:30:38 +01:00
Camden Dixie O'Brien 6d8fdb2f8c Switch to using staging buffer for vertex data 2025-09-26 14:30:38 +01:00
Camden Dixie O'Brien b2b1a256fe Create procedure for setting up GPU buffers 2025-09-26 14:30:38 +01:00
Camden Dixie O'Brien d4214941b1 Separate vulkan code into gpu module 2025-09-26 14:30:38 +01:00
Camden Dixie O'Brien 51c01a2f9e Pass vertices through buffer instead of hard-coding 2025-09-25 18:21:29 +01:00
Camden Dixie O'Brien cf7a0f099a Create Vulkan demo 2025-09-25 17:17:52 +01:00