Commit graph

388 commits

Author SHA1 Message Date
Magnus Norddahl
48b6a7ec46 Split level mesh surface from lightmap tiles as we have multiple surfaces per tile 2023-12-26 04:31:00 +01:00
Magnus Norddahl
4ca2ffd58e Implement line portals and improve sky handling 2023-12-26 04:31:00 +01:00
Magnus Norddahl
d0d964ae42 Hook up HWWall and use the real main.fp shader for the level mesh 2023-12-26 04:30:56 +01:00
Magnus Norddahl
5d107ecc49 Apply lightmap 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f1b15c5000 Fix the second vertex buffer binding bug 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f550f5b05a Hook up bindless textures for gl_levelmesh 2023-12-26 04:30:55 +01:00
Magnus Norddahl
9edfbcd10e Create different buffer for uniform indexes that works for the vertex shader 2023-12-26 04:30:55 +01:00
Magnus Norddahl
d06a9e1305 Hook up surface index buffer 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f8fd08a623 Clean up VkDescriptorSetManager a bit and bind the surface uniforms when drawing with gl_levelmesh 2023-12-26 04:30:54 +01:00
Magnus Norddahl
e713299410 Rename StreamData to SurfaceUniforms 2023-12-26 04:30:54 +01:00
Magnus Norddahl
240d68d7ae Merge SurfaceVertex with FFlatVertex and draw the lightmaps 2023-12-26 04:30:54 +01:00
Magnus Norddahl
8c56963fdd Fix fogball bindings after rebase 2023-12-11 11:41:12 +01:00
nashmuhandes
237899b17d Fogball actor alpha should influence the density, rather than the color 2023-12-11 11:37:24 +01:00
Magnus Norddahl
a76dfafbaa Fix misc bugs in the fogball implementation - it works now 2023-12-11 11:37:24 +01:00
dpjudas
81cdc402c9 Add code collecting fogballs from the visible scene 2023-12-11 11:34:14 +01:00
Magnus Norddahl
a4161eaefa Forgot to add the shader 2023-12-11 11:28:55 +01:00
Magnus Norddahl
1d0fed0326 Add the shader math needed to draw fogballs 2023-12-11 11:28:55 +01:00
Magnus Norddahl
05e46e0cb4 Fix DrawLevelMesh bugs 2023-10-19 22:10:26 +02:00
Magnus Norddahl
fc65d43ae8 Add code that should draw the mesh 2023-10-19 22:09:26 +02:00
Magnus Norddahl
9799bd70d1 Add vk_rayquery CVAR and prevent the shader from looping until the OS kills the entire process! 2023-10-04 20:11:09 +02:00
Magnus Norddahl
abf024a157 Fix the sunlight tracing bug 2023-10-04 03:31:29 +02:00
Magnus Norddahl
f2cfcc4635 Fix tile clipping 2023-10-04 01:24:20 +02:00
Magnus Norddahl
bbf73c2766 Apply surface angle to sun light 2023-10-04 00:46:29 +02:00
Magnus Norddahl
4f86a0ba81 Control ambient occlusion, sunlight and softshadows via cvars 2023-10-04 00:24:32 +02:00
Magnus Norddahl
be81f74954 Turn on backface culling 2023-10-01 13:08:57 +02:00
Magnus Norddahl
4e8e3aa546 Add soft shadows the lightmapper 2023-09-28 22:32:53 +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
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
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
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
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
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
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
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
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
6e660ef023 Move vertex transform to the GPU 2023-09-18 02:42:12 +02:00
RaveYard
81497cadec Blur changes to avoid darkening the edges 2023-09-06 20:00:02 +02:00
Magnus Norddahl
10a5e4d466 Add missing file and only include static lights in the lightmaps 2023-09-05 17:47:55 +02:00
RaveYard
651903fe71 WIP VkLightmap integration 2023-08-31 22:57:56 +02:00
Magnus Norddahl
3750173eae Import ZDRay's GPURaytracer class as VkLightmap as the first step in letting the backend update them dynamically 2023-08-31 02:47:11 +02:00
Magnus Norddahl
84c2980398 Remove the reserved vbo_shadowdata so only hw_vertexbuffer still needs it 2023-05-07 00:49:54 +02:00