Commit graph

21,357 commits

Author SHA1 Message Date
Magnus Norddahl
e2e0a78a2b More code cleanup 2023-09-30 22:24:24 +02:00
Magnus Norddahl
b5095a4790 Group LightList variables 2023-09-30 21:46:27 +02:00
Magnus Norddahl
7bc52386f9 Make doom specific surface fields private to doom 2023-09-30 21:33:07 +02:00
Magnus Norddahl
4336f0e58d Remove warning 2023-09-30 21:30:34 +02:00
Magnus Norddahl
6ec58006ad Fixed crash when second submesh is empty 2023-09-30 13:19:33 +02:00
Magnus Norddahl
757320c5bc Fix node buffers not working for the rayquery polyfill shader path
Rearrange how the upload code is done for the level mesh
2023-09-30 01:31:07 +02:00
Magnus Norddahl
40509ef845 Move BufferTransfer class to zvulkan 2023-09-30 01:28:41 +02:00
Magnus Norddahl
4e8e3aa546 Add soft shadows the lightmapper 2023-09-28 22:32:53 +02:00
Magnus Norddahl
ef0fb85103 Fix some image transition errors 2023-09-28 21:33:17 +02:00
Magnus Norddahl
4dbe9bacc0 Make shadows slightly softer and fix sampling one time too many 2023-09-27 01:42:20 +02:00
Magnus Norddahl
d132a6842f Use vogel disk sampling for the raytraced soft shadows and reduce the number of samples used for each quality mode 2023-09-27 01:03:05 +02:00
Magnus Norddahl
2d2fb5efaa Fix crash if there are no surfaces in the mesh 2023-09-27 00:29:13 +02:00
Magnus Norddahl
987421451f Remove global variable return value hacks! 2023-09-26 23:04:12 +02:00
Magnus Norddahl
743ba922b8 Split frag_raytrace.glsl into multiple files as it has become completely unreadable 2023-09-26 22:56:01 +02:00
Magnus Norddahl
bfdca1a069 Implement dynamic update of the acceleration structure 2023-09-26 18:10:45 +02:00
Magnus Norddahl
2b7394cbb1 Update the dynamic submesh with poly lines 2023-09-26 00:06:10 +02:00
Magnus Norddahl
65929d021f Add support for multiple meshes (DoomLevelSubmesh) 2023-09-25 23:28:49 +02:00
Magnus Norddahl
fae22f1bb7 Remove smoothing groups from vk_lightmap and fix some warnings 2023-09-25 20:35:34 +02:00
dpjudas
9677453f6b Prepare VkRaytrace to have a dynamic bottom level acceleration structure 2023-09-25 00:17:53 +02:00
nashmuhandes
4817ea2d8c Rename "static lights" to "lightmap lights" -- they're technically not limited to being completely static anymore... 2023-09-24 20:34:35 +08:00
Magnus Norddahl
6bdc1d44b4 Prevent buffer overrun 2023-09-24 13:15:00 +02:00
Magnus Norddahl
e6f0fec1b8 Finish and enable the indirect draw calls, reducing the direct command buffer draw calls in the lightmapper to 5 2023-09-24 12:40:04 +02:00
dpjudas
8a40cf39d2 Prepare for doing indirect draw calls 2023-09-24 01:37:00 +02:00
Magnus Norddahl
1dd2605200 Retrieve the light list on the fly rather than try to sync it 2023-09-22 16:35:50 +02:00
RaveYard
f9b7332aed Fix mid textures not pushed into visible surface list 2023-09-22 15:43:11 +02:00
RaveYard
f23a18352c Use more accurate light formula for transparency 2023-09-22 15:43:11 +02:00
RaveYard
9f5e8b5e4d Minor cleanup and lightmapper fixes 2023-09-22 15:42:05 +02:00
Magnus Norddahl
5b2dad99a7 Disable moving lights for now as that's what caused the FPS drop for lm_always_update 2023-09-22 11:32:20 +02:00
Magnus Norddahl
6f4730d5ae Fix view index binding error 2023-09-22 11:31:50 +02:00
Magnus Norddahl
015aa59992 Update zvulkan 2023-09-22 11:27:20 +02:00
Magnus Norddahl
30db3feb5a Use a shader to copy the pixels as vkCmdCopyImage is very slow. Also gives us more flexibility in the future for composite lightmaps 2023-09-22 01:41:56 +02:00
Magnus Norddahl
9715f28917 Add lightmap stats to stat gpu 2023-09-21 02:07:50 +02:00
Magnus Norddahl
3213175e06 Minor adjustments 2023-09-21 01:45:48 +02:00
RaveYard
8012f3bce3 Temporary measure to avoid crashing in non-rtx mode 2023-09-21 00:15:23 +02:00
RaveYard
eb134d3fbf Add color blending for lights 2023-09-21 00:15:23 +02:00
RaveYard
5cf202f24e Fix surface midtexture yscale 2023-09-21 00:15:23 +02:00
RaveYard
bf87748380 Fix uninitialized surface.TextureIndex crash and cleanup 2023-09-21 00:15:23 +02:00
RaveYard
19adf71ba9 Add alpha testing for TraceFirstHitTriangle 2023-09-21 00:15:23 +02:00
RaveYard
3827d51784 WIP wall UVs for levelmesh 2023-09-21 00:15:23 +02:00
RaveYard
7989b389c7 Fix flat UVs 2023-09-21 00:15:23 +02:00
RaveYard
fff23e0724 Extract flat rotation from SetPlaneTextureRotation 2023-09-21 00:15:23 +02:00
RaveYard
c525ec1b68 Add access to vertex indices in frag_raytrace.glsl 2023-09-21 00:15:23 +02:00
RaveYard
08b03f2d73 Add SurfaceVertex to store texture UVs 2023-09-21 00:15:23 +02:00
RaveYard
c8146d33b5 Fix lights being slightly shifted 2023-09-20 01:01:18 +02:00
Magnus Norddahl
bb7a33d7b1 Add bindless texture support 2023-09-19 23:58:17 +02:00
RaveYard
78e4f67e83 Reimplement ZDRay SectorGroup 2023-09-19 16:23:02 +02:00
RaveYard
42e02ec87a Add WIP mid texture support 2023-09-19 09:34:49 +02:00
Magnus Norddahl
90f046a579 Fix crash when trying to render outside the texture 2023-09-19 01:30:15 +02:00
Magnus Norddahl
110819ea05 Fix not setting the reset counter 2023-09-19 01:19:31 +02:00
Magnus Norddahl
285fbfe299 Only find the tile surfaces once
Only upload the lights once per surface participating in the baking
2023-09-19 01:17:03 +02:00