This website requires JavaScript.
54b9caab78
Switch to bgra, handle swapchain out of date error
master
sergeypdev
2025-01-01 23:45:01 +04:00
f4b4dd653a
Missing shader
sergeypdev
2025-01-01 22:05:29 +04:00
c1c81ee761
Name vulkan objects for debugging, got first meshes to draw, spirv debug output for Aftermath
sergeypdev
2025-01-01 22:04:44 +04:00
bd903da009
Mesh loading WIP
sergeypdev
2024-12-31 03:54:01 +04:00
afa00106e4
Refactor frame state to allow access to the destroy queue from asset manager
sergeypdev
2024-12-30 23:55:13 +04:00
05f2deb5df
Textured quad with proper view projection
sergeypdev
2024-12-26 03:03:52 +04:00
0c7aad9070
Texture loading using a dedicated transfer queue, woo
sergeypdev
2024-12-26 02:18:51 +04:00
2215d082c4
Refactor descriptor arrays, add sampler descriptor array
sergeypdev
2024-12-21 19:28:02 +04:00
e229da9315
Simplify things, use just one pipeline layout for all shaders (nice), remove spirv-reflect
sergeypdev
2024-12-15 22:52:44 +04:00
1181e56236
Post processing shader, extended .prog format to include attachment format and depth info
sergeypdev
2024-12-15 20:09:37 +04:00
baf3e2fee8
Add spirv reflection to figure out push constant ranges, add support for bindless textures and a global persistent descriptor set
sergeypdev
2024-12-15 18:45:32 +04:00
815f4b3970
Depth testing, two triangles!
sergeypdev
2024-12-14 02:04:01 +04:00
44bd479bb1
Refactor and simplify per frame mem arena, use vkUpdateBuffer and Device Local memory without HOST_VISIBLE
sergeypdev
2024-12-14 00:11:11 +04:00
8cf7df0a90
Start using reverse z and row major matrices, yay
sergeypdev
2024-12-08 21:58:58 +04:00
63171f468d
Fix build
sergeypdev
2024-12-08 21:43:20 +04:00
2a226d8707
Use named binding constant
sergeypdev
2024-12-08 21:42:11 +04:00
4fd797c048
Slowly building out the rendering framework
sergeypdev
2024-12-08 21:39:09 +04:00
4b6b859f40
Pass uniform buffer via push constants, yay
sergeypdev
2024-12-05 02:40:12 +04:00
3cab3f7946
Start adding VMA
sergeypdev
2024-12-04 23:39:05 +04:00
c77c00cfe1
Add sync abstraction to automate memory barriers
sergeypdev
2024-09-29 14:59:38 +04:00
fe69fa1f51
Vulkan TRIANGLE!!!
sergeypdev
2024-09-25 10:59:06 +04:00
f0c9e04887
Proper depfile handling
sergeypdev
2024-09-23 00:11:57 +04:00
2373a47340
Shader compilation to spir-v
sergeypdev
2024-09-22 23:31:22 +04:00
52cdbef876
Hardcore Vulkan migration began
sergeypdev
2024-09-21 21:09:17 +04:00
d708144dca
Add compute shader support
sergeypdev
2024-09-10 13:05:27 +04:00
743e3293bd
Use variance shadow maps, tweak CSM splits
sergeypdev
2024-09-08 22:16:12 +04:00
e122804766
Allow passing shader defines when resolving shader programs
sergeypdev
2024-09-01 12:27:39 +04:00
9226b61988
Add shader preprocessor with #include support and refactor shaders to remove a bunch of duplicates
sergeypdev
2024-09-01 11:40:25 +04:00
8e9cb3fa5b
Start implementing alpha mask instead of alpha blend for everything, add debug bounds rendering
sergeypdev
2024-08-24 23:26:01 +04:00
8031b77c8a
Bring back translucent rendering, try to optimize shaders, try figuring out which materials are masked
sergeypdev
2024-08-24 17:25:07 +04:00
637ad85979
Async asset watch
sergeypdev
2024-08-24 17:23:55 +04:00
bf4f6a5fc2
Fix PBR equations, add fake IBL
sergeypdev
2024-08-03 17:41:53 +04:00
37f603dc8a
Use radix sort for sorting draw commands, add ambient light, tweak lighting
sergeypdev
2024-08-03 09:44:09 +04:00
9a6ba0dc7f
Add readme
sergeypdev
2024-07-28 20:34:06 +04:00
b4c3bcba94
Add tracy profiler, use multi draw indirect for shadows, use Bistro scene
sergeypdev
2024-07-28 16:39:46 +04:00
551f92c64e
Bring back textures, add sorting by mesh
sergeypdev
2024-07-27 21:05:50 +04:00
6a0d8348f1
Revert "Try interleaved vertex attributes" it's slower :(
sergeypdev
2024-07-26 17:04:01 +04:00
b0163b1f6b
Try to optimize for many draw calls
sergeypdev
2024-07-26 17:03:35 +04:00
f21bc2245a
Try interleaved vertex attributes
sergeypdev
2024-07-26 11:53:29 +04:00
3daad6b31b
Add z prepass, huge mesh shader lighting optimization (2ms vs 0.2ms)
sergeypdev
2024-07-24 12:34:37 +04:00
c27e1cecc3
Proper multi draw indirect for all meshes!
sergeypdev
2024-07-21 19:48:54 +04:00
a39fdad1a0
Remove unnecessary special case in BuddyAllocator.free
sergeypdev
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
sergeypdev
2024-07-20 17:50:25 +04:00
23f5c6836a
Zig 0.13.0 update
sergeypdev
2024-07-13 20:05:53 +04:00
8033d99423
Start fixing 0.13 build
sergeypdev
2024-07-13 11:56:31 +04:00
f92283d152
Start using SSBOs for lights
sergeypdev
2024-03-15 18:35:09 +04:00
a41e4b64d3
Fix direct shadow shimmering when view is changed
sergeypdev
2024-03-15 04:44:23 +04:00
b4a2b1d728
Alpha blending!
sergeypdev
2024-03-14 19:20:26 +04:00
a865ea4ab7
Use bounding sphere instead of AABB to calculate projection matrix for CSM split
sergeypdev
2024-03-12 17:05:11 +04:00
7600db3dca
Tweak cascades more
sergeypdev
2024-03-12 16:36:05 +04:00
acbaec8e1d
Cascaded shadow maps working!
sergeypdev
2024-03-12 16:33:24 +04:00
5748f3b27e
Slightly broken CSM, need to figure out how to choose correct split in shader
sergeypdev
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
sergeypdev
2024-03-11 19:57:25 +04:00
6b4fe69505
Refactor lights
sergeypdev
2024-03-09 21:22:42 +04:00
f1123a1e15
BLOOM!
sergeypdev
2024-03-05 19:29:27 +04:00
76603cbb3b
More complex ACES
sergeypdev
2024-03-05 03:18:46 +04:00
a2c5366b29
Move gamma correction into post processing
sergeypdev
2024-03-05 02:20:56 +04:00
0b6d8c392a
Basic post processing (spooky)
sergeypdev
2024-03-05 02:19:17 +04:00
1504c9c2e6
Fix dir_light shadow acne
sergeypdev
2024-03-05 00:07:37 +04:00
2e8ae535a8
Switch to using [0, 1] depth in NDC like DirectX and Vulkan
sergeypdev
2024-03-04 22:39:57 +04:00
83b9d64235
Add shadowmap frustum culling. Fix too large shadow bias
sergeypdev
2024-03-04 16:10:15 +04:00
1633957d07
Correct frustum culling, finally!
sergeypdev
2024-03-04 15:51:23 +04:00
78eebc1e17
Broken frustum culling
sergeypdev
2024-03-04 04:49:04 +04:00
0bd5985d07
Fix rotation, improve shadow bias
sergeypdev
2024-03-03 00:21:11 +04:00
95d30aacda
Point light shadow maps with filtering, improve bias with normal offset
sergeypdev
2024-03-02 23:23:46 +04:00
daf85fc614
Proper (but unoptimized) PCF
sergeypdev
2024-03-02 17:32:36 +04:00
73501f7991
Basic directional shadow map
sergeypdev
2024-03-02 15:41:49 +04:00
aec4a4a882
Ignore case when checking texture naming convention
sergeypdev
2024-02-28 17:26:14 +04:00
8fa5c63039
Load external textures for scenes
sergeypdev
2024-02-28 17:16:44 +04:00
7b15f55173
Support odd sized textures, fix segfault in AssetManager
sergeypdev
2024-02-28 16:43:44 +04:00
35ff95e694
Make it easier to define materials in code
sergeypdev
2024-02-28 00:34:40 +04:00
eebc26e7fb
Load normal maps
sergeypdev
2024-02-27 21:13:26 +04:00
d33d6b2454
Load gltf with embedded albedo, metallic and roughness maps
sergeypdev
2024-02-27 00:01:58 +04:00
2067a133f8
Extract textures from assimp too!
sergeypdev
2024-02-26 04:27:58 +04:00
e0e951c46b
Loading of complex scene graphs is now working well!
sergeypdev
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
sergeypdev
2024-02-25 00:32:04 +04:00
5f426c61de
First scene loaded, discovered an issue with ubo's, weird stuff in fullscreen
sergeypdev
2024-02-24 23:57:31 +04:00
96449b65d7
Remove some unused code, unify how files are output from assetc
sergeypdev
2024-02-24 16:34:34 +04:00
59ccd86a5d
Basic scene graph with inherited transforms
sergeypdev
2024-02-23 22:04:46 +04:00
756f4fa6f9
Simplify build.zig, support installing multiple asset outputs
sergeypdev
2024-02-23 21:27:08 +04:00
672bce7fe6
Revamp asset build process, split asset manifest generation into own step
sergeypdev
2024-02-22 23:50:54 +04:00
e32387ca72
PBR!!!
sergeypdev
2024-02-21 05:25:33 +04:00
73733776d8
Do lighting calculations in view space
sergeypdev
2024-02-21 02:58:53 +04:00
1c5b0357a8
Fix mipmap gen for normal maps
sergeypdev
2024-02-19 08:18:12 +04:00
8f40efc6a2
Working normal maps!
sergeypdev
2024-02-19 08:05:00 +04:00
6e75910bef
Add tangents
sergeypdev
2024-02-19 04:12:19 +04:00
e764879f17
Fix incorrect double srgb conversion (stb already handles srgb->linear conversion)
sergeypdev
2024-02-19 00:48:30 +04:00
d3370cc559
Custom mipmap gen, output linear textures from assetc
sergeypdev
2024-02-19 00:38:04 +04:00
03c1d181e1
Fix texture compression bug, remove basisu
sergeypdev
2024-02-16 04:07:38 +04:00
4b4ff4e176
Cleanup, start replacing basisu with ispc texture compressor
sergeypdev
2024-02-16 03:30:02 +04:00
c20834dbce
Refactor renderer into separate file
sergeypdev
2024-02-15 21:44:58 +04:00
9c441c067a
Fancy bunny texture, use color if texture is not bound
sergeypdev
2024-02-15 16:56:50 +04:00
406c40280c
Working mipmaps
sergeypdev
2024-02-15 16:38:16 +04:00
d3f0664da6
Almost working compressed textures
sergeypdev
2024-02-15 04:23:18 +04:00
a3c93ef8cf
Add gitattributes and first test texture
sergeypdev
2024-02-13 03:29:55 +04:00
bbbc383535
Remove unused manymouse
sergeypdev
2024-02-13 03:19:34 +04:00
ad3210a08f
Add basisu texture compressor to assetc, improve build process for asset manifest, should cache faster now
sergeypdev
2024-02-13 03:19:10 +04:00
2f3998ddfd
Add toggle fullscreen and toggle vsync hotkeys, improve DPI awareness on windows
sergeypdev
2024-02-12 22:38:15 +04:00
d21d128633
Got uvs
sergeypdev
2024-02-12 19:39:14 +04:00
9277c010c8
Unified shaders, now vertex and fragment live in the same file
sergeypdev
2024-02-12 17:58:50 +04:00