37 Commits

Author SHA1 Message Date
b0163b1f6b Try to optimize for many draw calls 2024-07-26 17:03:35 +04:00
3daad6b31b Add z prepass, huge mesh shader lighting optimization (2ms vs 0.2ms) 2024-07-24 12:34:37 +04:00
c27e1cecc3 Proper multi draw indirect for all meshes!
Also refactoring for SSBO to more easily create them
2024-07-21 19:48:54 +04:00
f92283d152 Start using SSBOs for lights 2024-03-15 18:35:09 +04:00
a41e4b64d3 Fix direct shadow shimmering when view is changed
- Use bounding sphere of frustum instead of bbox
- Snap directional light projection offset to texels
2024-03-15 04:44:23 +04:00
b4a2b1d728 Alpha blending! 2024-03-14 19:20:26 +04:00
acbaec8e1d Cascaded shadow maps working! 2024-03-12 16:33:24 +04:00
5748f3b27e Slightly broken CSM, need to figure out how to choose correct split in shader 2024-03-12 02:32:29 +04:00
bb8b29263f Use view frustum to calculate directional light projection, add a bunch of debug stuff for frustums 2024-03-11 19:57:25 +04:00
f1123a1e15 BLOOM! 2024-03-05 19:29:27 +04:00
76603cbb3b More complex ACES 2024-03-05 03:18:46 +04:00
a2c5366b29 Move gamma correction into post processing 2024-03-05 02:20:56 +04:00
0b6d8c392a Basic post processing (spooky) 2024-03-05 02:19:17 +04:00
1504c9c2e6 Fix dir_light shadow acne 2024-03-05 00:07:37 +04:00
2e8ae535a8 Switch to using [0, 1] depth in NDC like DirectX and Vulkan 2024-03-04 22:39:57 +04:00
83b9d64235 Add shadowmap frustum culling. Fix too large shadow bias 2024-03-04 16:10:15 +04:00
0bd5985d07 Fix rotation, improve shadow bias 2024-03-03 00:21:11 +04:00
95d30aacda Point light shadow maps with filtering, improve bias with normal offset 2024-03-02 23:23:46 +04:00
daf85fc614 Proper (but unoptimized) PCF 2024-03-02 17:32:36 +04:00
73501f7991 Basic directional shadow map 2024-03-02 15:41:49 +04:00
7b15f55173 Support odd sized textures, fix segfault in AssetManager 2024-02-28 16:43:44 +04:00
d33d6b2454 Load gltf with embedded albedo, metallic and roughness maps 2024-02-27 00:01:58 +04:00
e32387ca72 PBR!!! 2024-02-21 05:25:33 +04:00
73733776d8 Do lighting calculations in view space 2024-02-21 02:58:53 +04:00
8f40efc6a2 Working normal maps! 2024-02-19 08:05:00 +04:00
6e75910bef Add tangents 2024-02-19 04:12:19 +04:00
9c441c067a Fancy bunny texture, use color if texture is not bound 2024-02-15 16:56:50 +04:00
d3f0664da6 Almost working compressed textures 2024-02-15 04:23:18 +04:00
2f3998ddfd Add toggle fullscreen and toggle vsync hotkeys, improve DPI awareness on windows 2024-02-12 22:38:15 +04:00
d21d128633 Got uvs 2024-02-12 19:39:14 +04:00
9277c010c8 Unified shaders, now vertex and fragment live in the same file 2024-02-12 17:58:50 +04:00
6e46c54e6e Gamma correction and add missing light intensity 2024-02-12 16:40:31 +04:00
117977b873 Multiple bunnies with multiple colored lights 2024-02-12 15:54:55 +04:00
b749d43415 Multiple meshes + 1 point light
almost went crazy debuggging issue with multiple UBOs block bindings :)))))

Turns out if you specify layout(binding=X) in shader and later call glUniformBlockBinding (cause you don't know what you're doing)
it will mess up all your bindings, and your camera UBO will be fed to a lights array ubo and good luck debugging that.
2024-02-12 03:56:36 +04:00
d5bfda3300 Hot reload works again with the new asset system 2024-02-09 02:12:08 +04:00
a837984d55 Rewrite how all assets are loaded to make it easier to use 2024-02-09 01:34:33 +04:00
d91484e992 Redo how assets are loaded, remove explicit load/unload calls
This will make code simpler because game code will never explicitly
unload assets or retain runtime asset handles!
2024-02-08 21:48:18 +04:00