Commit graph

1,362 commits

Author SHA1 Message Date
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
ef0fb85103 Fix some image transition errors 2023-09-28 21:33:17 +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
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
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
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
9f5e8b5e4d Minor cleanup and lightmapper fixes 2023-09-22 15:42:05 +02:00
Magnus Norddahl
6f4730d5ae Fix view index binding error 2023-09-22 11:31:50 +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
eb134d3fbf Add color blending for lights 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
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
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
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
Magnus Norddahl
e5a4e6c85a Remove LightmapOrigin, LightmapStepX and LightmapStepY as we no longer use them 2023-09-19 00:47:47 +02:00
Magnus Norddahl
dca58bffa8 Don't change the viewport for every tile we trace 2023-09-19 00:25:32 +02:00
Magnus Norddahl
2e754c8106 Use the vertex and index buffers from the accelstruct 2023-09-18 17:39:06 +02:00
Magnus Norddahl
6e660ef023 Move vertex transform to the GPU 2023-09-18 02:42:12 +02:00
Magnus Norddahl
3c1b12862c Remember vid_fps cvar (whyyy wasn't this always the case?) 2023-09-17 00:26:52 +02:00
Magnus Norddahl
8889aecaf6 Fix crash bug where an index buffer was bound as a vertex buffer 2023-09-17 00:08:51 +02:00
Rachael Alexanderson
861450ee3f - compile fixes for mac os 2023-09-16 23:38:36 +02:00
RaveYard
c282c47812 Fix sky dome getting randomly influenced by the lightmaps 2023-09-16 15:55:59 +02:00
RaveYard
4e7e1d772b Reintroduce lm_max_updates 2023-09-16 15:13:16 +02:00
Magnus Norddahl
2178de0c6c - Fix VkRaytrace::Raytrace not working properly if called multiple times per frame.
- Only call VkRaytrace::Raytrace once per scene
2023-09-16 05:12:31 +02:00
RaveYard
e3e08c29b0 Fix lastSurfaceCount growing forever 2023-09-16 02:57:23 +02:00
Magnus Norddahl
d9b066ad37 Move the visible surface list to HWDrawInfo 2023-09-15 20:45:03 +02:00
Magnus Norddahl
651b2ef9e3 Change lightmapper to only use one image 2023-09-15 18:07:37 +02:00
RaveYard
5a55033ef7 Use UVs from the lightmap 2023-09-15 10:43:56 +02:00
RaveYard
6606860550 Refactor CCMDs in doom_levelmesh.cpp 2023-09-14 19:14:35 +02:00
RaveYard
bbcc0c1e88 Add stat lightmap and surfaceinfo ccmd 2023-09-14 19:14:35 +02:00
RaveYard
06d137e4da Skip portal and sky surfaces 2023-09-14 15:14:59 +02:00
RaveYard
7cd33cc060 Optimize which surfaces are passed to lightmapper 2023-09-14 15:14:59 +02:00
Rachael Alexanderson
1d2427c146 - fixes for GCC on Linux 2023-09-14 11:36:10 +02:00
RaveYard
c05376c273 Fix variety of bugs and assume that any surface not contained in LIGHTMAP lump does not need updating 2023-09-13 21:58:11 +02:00
RaveYard
c6b92e1c1b Initial implementation for lightmap lump loading 2023-09-13 21:58:11 +02:00
RaveYard
a340b69c79 Fix lightmapper still using hacks to detect levelmesh changes 2023-09-11 19:51:23 +02:00
Magnus Norddahl
542dfd3666 Delay creating the accel struct until frame start 2023-09-11 14:55:31 +02:00
RaveYard
adfc7082f5 Remove hacks associated with SetLevelMesh 2023-09-11 14:44:17 +02:00