46 Commits

Author SHA1 Message Date
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
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
2e8ae535a8 Switch to using [0, 1] depth in NDC like DirectX and Vulkan 2024-03-04 22:39:57 +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
d33d6b2454 Load gltf with embedded albedo, metallic and roughness maps 2024-02-27 00:01: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
892c2c643a Add GL debug logging (didn't help though), turns out my fences were in the wrong place, whoops 2024-02-25 00:32:04 +04:00
5f426c61de First scene loaded, discovered an issue with ubo's, weird stuff in fullscreen 2024-02-24 23:57:31 +04:00
59ccd86a5d Basic scene graph with inherited transforms 2024-02-23 22:04:46 +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
1c5b0357a8 Fix mipmap gen for normal maps 2024-02-19 08:18:12 +04:00
8f40efc6a2 Working normal maps! 2024-02-19 08:05:00 +04:00
4b4ff4e176 Cleanup, start replacing basisu with ispc texture compressor
ISPC texcomp is so, so much faster and supports bc6 (hdr) as well as bc5 and others down to bc1.
2024-02-16 03:30:02 +04:00
c20834dbce Refactor renderer into separate file 2024-02-15 21:44:58 +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
ad3210a08f Add basisu texture compressor to assetc, improve build process for asset manifest, should cache faster now 2024-02-13 03:19:10 +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
6e46c54e6e Gamma correction and add missing light intensity 2024-02-12 16:40:31 +04:00
70ff9c17b5 QOL improvements, add ground plane, add adjustable cam speed 2024-02-12 16:24:07 +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
a4d78d36f6 Replace zlm with zalgebra, fix culling to be backface 2024-02-11 02:50:51 +04:00
9f60d48ae2 Add basic camera controls, try to fix terrible lag 2024-02-10 01:05:25 +04:00
1944338402 Deleted triangle stuff 2024-02-09 02:16:49 +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
0a1d17cf9c Mesh loading and rendering 2024-02-07 02:28:43 +04:00
894e6e54c4 Bring back OpenGL version print 2024-02-04 21:45:17 +04:00
f227d4cedd Fix hot reload for gl 2024-02-04 21:39:21 +04:00
9945fa5b40 Remove glad, fix windows build, finally a good base 2024-02-03 04:27:10 +04:00
126a18b66b
First triangle, wow 2024-01-30 20:13:44 +04:00
0390109ff4
Add game_init_window, separate window and game hot reload 2024-01-30 17:34:43 +04:00
8d397f3941
Initial commit 2024-01-30 16:46:50 +04:00