92 Commits

Author SHA1 Message Date
743e3293bd Use variance shadow maps, tweak CSM splits 2024-09-08 22:16:12 +04:00
e122804766 Allow passing shader defines when resolving shader programs 2024-09-01 12:27:39 +04:00
9226b61988 Add shader preprocessor with #include support and refactor shaders to remove a bunch of duplicates 2024-09-01 11:40:25 +04:00
8e9cb3fa5b Start implementing alpha mask instead of alpha blend for everything,
add debug bounds rendering
2024-08-24 23:26:01 +04:00
8031b77c8a Bring back translucent rendering, try to optimize shaders, try figuring out which materials are masked 2024-08-24 17:25:07 +04:00
637ad85979 Async asset watch 2024-08-24 17:23:55 +04:00
bf4f6a5fc2 Fix PBR equations, add fake IBL 2024-08-03 17:41:53 +04:00
37f603dc8a Use radix sort for sorting draw commands, add ambient light, tweak lighting 2024-08-03 09:44:09 +04:00
9a6ba0dc7f Add readme 2024-07-28 20:34:06 +04:00
b4c3bcba94 Add tracy profiler, use multi draw indirect for shadows, use Bistro scene 2024-07-28 16:39:46 +04:00
551f92c64e Bring back textures, add sorting by mesh 2024-07-27 21:05:50 +04:00
6a0d8348f1 Revert "Try interleaved vertex attributes" it's slower :(
This reverts commit f21bc2245a9629981ce9719c3c500c8614da83fa.
2024-07-26 17:04:01 +04:00
b0163b1f6b Try to optimize for many draw calls 2024-07-26 17:03:35 +04:00
f21bc2245a Try interleaved vertex attributes 2024-07-26 11:53:29 +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
a39fdad1a0 Remove unnecessary special case in BuddyAllocator.free 2024-07-20 17:53:11 +04:00
2c385c7656 Implement buddy allocator to be able to use a single buffer for all geometry on GPU
This will allow me to draw everything in a single CPU draw call
2024-07-20 17:50:25 +04:00
23f5c6836a Zig 0.13.0 update 2024-07-13 20:05:53 +04:00
8033d99423 Start fixing 0.13 build 2024-07-13 11:56:31 +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
a865ea4ab7 Use bounding sphere instead of AABB to calculate projection matrix for CSM split
This reduces flickering somewhat because shadow map resolution doesn't change so much
2024-03-12 17:05:11 +04:00
7600db3dca Tweak cascades more 2024-03-12 16:36:05 +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
6b4fe69505 Refactor lights 2024-03-09 21:22:42 +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
1633957d07 Correct frustum culling, finally! 2024-03-04 15:51:23 +04:00
78eebc1e17 Broken frustum culling 2024-03-04 04:49:04 +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
aec4a4a882 Ignore case when checking texture naming convention 2024-02-28 17:26:14 +04:00
8fa5c63039 Load external textures for scenes 2024-02-28 17:16:44 +04:00
7b15f55173 Support odd sized textures, fix segfault in AssetManager 2024-02-28 16:43:44 +04:00
35ff95e694 Make it easier to define materials in code 2024-02-28 00:34:40 +04:00
eebc26e7fb Load normal maps 2024-02-27 21:13:26 +04:00
d33d6b2454 Load gltf with embedded albedo, metallic and roughness maps 2024-02-27 00:01:58 +04:00
2067a133f8 Extract textures from assimp too! 2024-02-26 04:27:58 +04:00
e0e951c46b Loading of complex scene graphs is now working well!
Managed to load a huge glb file, not included in commit cause I don't want to use
lots of storage in git lfs
2024-02-25 03:32:53 +04:00