Commit graph

358 commits

Author SHA1 Message Date
Magnus Norddahl
d98df0b498 Finish and enable the indirect draw calls, reducing the direct command buffer draw calls in the lightmapper to 5 2023-09-25 21:21:07 +02:00
RaveYard
5987b537c5 Use more accurate light formula for transparency 2023-09-25 21:21:07 +02:00
RaveYard
99daa8f743 Minor cleanup and lightmapper fixes 2023-09-25 21:21:07 +02:00
Magnus Norddahl
ae4e50a2d4 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-25 21:21:06 +02:00
RaveYard
3474dac9d0 Temporary measure to avoid crashing in non-rtx mode 2023-09-25 21:21:06 +02:00
RaveYard
e0b349b331 Add color blending for lights 2023-09-25 21:21:06 +02:00
RaveYard
9d20bdef4f Fix uninitialized surface.TextureIndex crash and cleanup 2023-09-25 21:21:05 +02:00
RaveYard
f9fb9056f6 Add alpha testing for TraceFirstHitTriangle 2023-09-25 21:21:05 +02:00
RaveYard
29b8fcf6c8 Add access to vertex indices in frag_raytrace.glsl 2023-09-25 21:21:05 +02:00
RaveYard
ef065fb9b9 Add SurfaceVertex to store texture UVs 2023-09-25 21:21:05 +02:00
RaveYard
6e345c6a08 Fix lights being slightly shifted 2023-09-25 21:20:54 +02:00
Magnus Norddahl
ebdef188ee Add bindless texture support 2023-09-25 21:20:54 +02:00
Magnus Norddahl
6d1f5e02f5 Remove LightmapOrigin, LightmapStepX and LightmapStepY as we no longer use them 2023-09-25 21:20:53 +02:00
Magnus Norddahl
8654c3396f Don't change the viewport for every tile we trace 2023-09-25 21:20:53 +02:00
Magnus Norddahl
ec94204a28 Move vertex transform to the GPU 2023-09-25 21:20:52 +02:00
RaveYard
dae78e2a2c Blur changes to avoid darkening the edges 2023-09-25 21:20:06 +02:00
Magnus Norddahl
04941cab43 Add missing file and only include static lights in the lightmaps 2023-09-25 21:20:05 +02:00
RaveYard
52220a5004 WIP VkLightmap integration 2023-09-25 21:19:59 +02:00
Magnus Norddahl
c5b03e016e Import ZDRay's GPURaytracer class as VkLightmap as the first step in letting the backend update them dynamically 2023-09-25 21:19:58 +02:00
Magnus Norddahl
c43cef96d1 Remove the reserved vbo_shadowdata so only hw_vertexbuffer still needs it 2023-09-25 21:19:05 +02:00
Magnus Norddahl
795c0d90de Use a uniform buffer for the light list 2023-09-25 21:19:05 +02:00
Magnus Norddahl
f80807d26a Remove unused uniforms and restrict push constants to only control offsets into buffers 2023-09-25 21:19:02 +02:00
Magnus Norddahl
85f138841c Only add the lightmode actually being used into the shader 2023-09-25 21:19:01 +02:00
Magnus Norddahl
447932025f Add support for gl_light_raytrace for cards that do not support rayquery 2023-09-25 21:19:00 +02:00
Magnus Norddahl
d97f9f3055 Fix sunlight not working on models 2023-09-25 21:18:59 +02:00
Magnus Norddahl
c23a109105 Improve shader performance significantly by only including raytracing or shadowmaps in the shader if enabled 2023-09-25 21:18:59 +02:00
Magnus Norddahl
cfa3f8ecc4 Remove the old shaders 2023-09-25 21:18:59 +02:00
Magnus Norddahl
11ca6bb067 Fix the clear screen shader bug
Fix texture set layout not matching the c++ code's version (vulkan validation error)
2023-09-25 21:18:58 +02:00
Magnus Norddahl
f11318ff99 Fix misc shader related issues 2023-09-25 21:18:58 +02:00
Magnus Norddahl
e34ee1e462 Fix shader build errors and remove support for old deprecated shader types 2023-09-25 21:18:57 +02:00
Magnus Norddahl
a267cf737e Add support for using #include in glsl files and improve glsl compile errors 2023-09-25 21:18:57 +02:00
Magnus Norddahl
8682361194 Move static layout code back to wadsrc 2023-09-25 21:18:57 +02:00
dpjudas
15ff88d7a4 Begin refactor the shaders 2023-09-25 21:18:57 +02:00
Magnus Norddahl
35df964d61 Update ZVulkan, rename vk_raytrace to gl_light_raytrace and support turning it on and off without a restart 2023-09-25 21:18:56 +02:00
Christoph Oelckers
5b7826f68b - set lightblendmode to 0 when setting up a 2D viewpoint.
2D never uses dynamic lights so this should always be 0 - and eliminates another place in the backend referencing game data.
2023-01-15 09:21:01 +01:00
Christoph Oelckers
34e2e77f9e - tab cleanup in shader code. 2023-01-15 08:54:54 +01:00
Ricardo Luís Vaz Silva
8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Magnus Norddahl
8bcdbc230d Adds soft shadows to vk_raytrace 2022-12-31 03:51:33 -05:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Shiny Metagross
cd4345373d Fixed improper casting
- Made a mistake on the casting in the shader that only worked for Intel
2022-10-19 22:48:57 +02:00
Shiny Metagross
a8bab6a21d Intel fix
- GZDoom can launch for Intel users - IQMs work for Intel too
2022-10-19 22:48:57 +02:00
Shiny Metagross
08f520f1c6 IQM Support Implemented
More info to come
2022-10-19 22:48:57 +02:00
Magnus Norddahl
37039721bd Fix washed out colors in Vulkan HDR mode 2022-10-11 00:10:02 +02:00
Magnus Norddahl
0f08a0f511 Re-enable ray query in the shader 2022-06-22 07:55:19 +02:00
Magnus Norddahl
5cc21c5a4a Upgrade glslang to 11.10.0 2022-06-22 07:55:19 +02:00
Magnus Norddahl
821bd3b460 Adjust some init/deinit code and rename some things 2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c1aab074c Hook up the acceleration structure to the shader and start shooting some rays! 2022-06-22 07:55:19 +02:00
Rachael Alexanderson
7652fd7ee0 Revert "- model normals fix"
This worked in some instances but it also broke attenuated lights in other instances, and also caused the shaders to fail to compile on Mac.

This reverts commit 679518f8e5.
2022-05-08 07:07:54 -04:00
Rachael Alexanderson
679518f8e5 - model normals fix 2022-05-03 23:39:40 -04:00
Rachael Alexanderson
6cc03aba16 - add gl_satformula == 2 - an optional 'more accurate' desaturation 2022-03-16 13:33:29 -04:00