Commit graph

88 commits

Author SHA1 Message Date
Magnus Norddahl
af6ec929cc Move lightmap atlas textures and light probes to the bindless textures array as its impossible to predict up front how many we need 2025-07-08 02:59:10 +02:00
Magnus Norddahl
e5dd219f56 Workaround AMD driver crash by moving USE_RAYTRACE_PRECISE to a define instead of a specialization constant 2025-06-22 09:32:14 +02:00
Magnus Norddahl
1791167fe5 Draw sorted by pipeline 2025-05-30 18:52:44 +02:00
dpjudas
cc92dda41a Avoid applying state on every draw 2025-05-26 04:26:36 +02:00
Magnus Norddahl
f302f03287 Change level mesh draw code to draw ranges in the mesh rather than the entire mesh 2025-05-25 18:18:29 +02:00
Magnus Norddahl
990ce7c6c9 Render scene with indexed textures for vid_rendermode 2 2025-05-19 05:55:03 +02:00
Ricardo Luís Vaz Silva
e0897ae8b2 remove broken precise midtexture trace, fix sky tracing for actors 2025-05-16 00:47:50 +02:00
Magnus Norddahl
26b10dbdda Validation layer wants layout specified during linking (is it right? nobody knows! the vulkan spec is unreadable in this part, thanks khronos!)
Fix light probe pass using depth stencil format selection before it was set
2025-04-20 18:15:38 +02:00
dpjudas
8f180e3a3f Never clear the RenderPassSetup map as that will force pipelines to rebuild 2025-04-14 01:41:44 +02:00
Magnus Norddahl
cc7dea2093 Include the shader key in the push constants 2025-04-03 01:25:46 +02:00
Magnus Norddahl
bb4d4f1bc0 Add generalized shader code 2025-04-03 01:23:06 +02:00
Ricardo Luís Vaz Silva
a4cc4ab9e2 fix pushconstants validation issues 2025-02-25 17:21:14 +01:00
Ricardo Luís Vaz Silva
961e74e0fa add camera-facing midtexture shadows to dynamic lights, off by default due to fps hit 2025-02-17 02:34:45 +01:00
Magnus Norddahl
a36316e7c5 Log vulkan device lost faults 2025-01-26 13:59:40 +01:00
Magnus Norddahl
68489d6bf0 Fix the vertex attribute bindings 2025-01-23 14:52:25 +01:00
Ricardo Luís Vaz Silva
91fb87e95e trace from actor center 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
b862adb747 fix normals for sprite lighting 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
a7b20183f1 gpu actor tracing (NOT WORKING) 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
693413e606 replace vec4 list with proper struct for lights 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
998fdec6e8 unify layouts (and move in/out variables to c++) in preparation for gpu sprite traces 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
8d0ab22e05 wireframe improvements 2025-01-20 16:45:08 +01:00
Ricardo Luís Vaz Silva
c72bad053f add gl_wireframe and gl_wireframecolor 2025-01-09 21:53:28 +01:00
Ricardo Luís Vaz Silva
ea09ae1461 implement custom uniforms for material shaders 2025-01-08 18:25:36 +08:00
Ricardo Luís Vaz Silva
e75d8d35eb move gl_light_shadow_filter from HWViewpointUniforms to VkShaderKey 2025-01-03 07:30:54 +01:00
Ricardo Luís Vaz Silva
728b6c0039 add portals/midtextures to ray-traced dynamic lights 2024-12-30 20:37:18 +01:00
Magnus Norddahl
e30831a409 Clean up the ranges code a bit 2024-12-16 22:17:18 +01:00
Ricardo Luís Vaz Silva
04ee3c335e switch from uniform to shader keys 2024-10-09 04:44:51 +02:00
Magnus Norddahl
c3f65fecdb Half the scene (all upper and lower walls) is drawn as masked unfortunately 2024-09-16 21:58:10 +02:00
Magnus Norddahl
76536be804 Use the dynamic lights from the level mesh in the light tiles shader 2024-09-16 18:06:21 +02:00
Magnus Norddahl
83009db3ec Fix zminmax not being linear depth 2024-09-16 01:45:44 +02:00
Magnus Norddahl
b43f84def6 Hook up light tile visibility test 2024-09-16 01:04:53 +02:00
Magnus Norddahl
2778225048 Run the ZMinMax pass before the light tiles compute shader 2024-09-15 01:44:34 +02:00
Magnus Norddahl
521e2ed39c Run the light tiles compute shader 2024-09-14 04:59:39 +02:00
Magnus Norddahl
f0c018fdc6 Update light level in level mesh 2024-09-11 01:39:47 +02:00
nashmuhandes
58fecd4b92 Move depth fade definition to GLDEFS 2024-09-09 18:57:07 +08:00
nashmuhandes
27058efe85 Rename "depth fade falloff" to "depth fade threshold" as it makes more sense 2024-09-09 17:06:04 +08:00
Magnus Norddahl
c62bb7a0f0 Add RenderState.SetDepthFadeFalloff 2024-09-08 20:32:30 +02:00
Magnus Norddahl
4655b02f06 Fix using wrong surface for the extra BLAS structures for trace hits
Add gl_raytrace for ray tracing the level mesh
2024-09-05 00:15:59 +02:00
Magnus Norddahl
db5f47d14f Fix SSAO not working in gl_levelmesh 2024-09-04 02:27:10 +02:00
dpjudas
4666fa6241 Split masked from opaque in the level mesh draw lists 2024-09-01 22:44:25 +02:00
Magnus Norddahl
d12cd4d74d Sort initial draw lists by pipeline
Fix applying pipeline state too often for scattered draw ranges
Delay updating sides and sectors until frame start to allow the playsim to mark surfaces dirty multiple times
2024-08-28 19:53:12 +02:00
Magnus Norddahl
18db0b49a7 Update level mesh on sector changes 2024-08-25 01:06:44 +02:00
Magnus Norddahl
73ee25ad39 Remove the need for pipelines for each material layer count 2024-02-10 01:42:28 +01:00
Magnus Norddahl
4fbb58d836 Switch to using bindless textures for the entire hwrenderer 2024-02-10 01:36:27 +01:00
Magnus Norddahl
445170e33f Fix black screen when frame ended without an active 2D drawer 2024-02-09 02:37:16 +01:00
Magnus Norddahl
7bc2ed5436 Remove the submesh class as that caused more problems than it solved 2024-01-29 21:56:42 +01:00
Magnus Norddahl
4ca2ffd58e Implement line portals and improve sky handling 2023-12-26 04:31:00 +01:00
Magnus Norddahl
4633029a74 Make sure pipeline is rebound after level mesh drawing 2023-12-26 04:30:59 +01:00
Magnus Norddahl
9dd485be76 Changes needed by rebase 2023-12-26 04:30:59 +01:00
Magnus Norddahl
ed7da1ae25 Moving files 2023-12-26 04:30:58 +01:00