Commit graph

448 commits

Author SHA1 Message Date
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
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
Magnus Norddahl
b0d182c099 Fix some validation errors 2023-09-11 13:49:39 +02:00
Magnus Norddahl
79302a7a58 Fix warnings 2023-09-11 01:31:51 +02:00
RaveYard
abae945fc8 Remove unused code from vk_lightmap.cpp 2023-09-10 23:42:00 +02:00
RaveYard
5912a2c30b Remove awful hardcoded byte offset hack 2023-09-10 23:42:00 +02:00
RaveYard
c9fccc53ec Fix lightmapper running background tasks forever 2023-09-10 23:42:00 +02:00
RaveYard
9ef93da6de Somehow fix lightmaps being corrupted in debug build 2023-09-10 23:42:00 +02:00