Commit graph

139 commits

Author SHA1 Message Date
Magnus Norddahl
8d10617762 Disable skyhack for level mesh and fix frustum test against skies 2025-05-31 23:57:38 +02:00
Magnus Norddahl
1d635d9a39 Add missing lower and upper 2025-05-31 20:00:29 +02:00
Magnus Norddahl
bda01dec98 Hook up sector portals 2025-05-31 17:45:42 +02:00
dpjudas
6da5f8e83f Add the missing draw list types to LevelMeshDrawType 2025-05-31 04:09:48 +02:00
Magnus Norddahl
4de06b3175 Turn off the light tiles 2025-05-30 20:43:30 +02:00
Magnus Norddahl
1791167fe5 Draw sorted by pipeline 2025-05-30 18:52:44 +02:00
Magnus Norddahl
83441734da Improve side and sector draw performance a bit 2025-05-30 02:19:24 +02:00
Magnus Norddahl
00e200559a Fix crash for uneven core count and clock the draw times 2025-05-29 04:22:14 +02:00
Magnus Norddahl
c7a5914609 More reduce on the worker threads 2025-05-29 04:07:23 +02:00
Magnus Norddahl
b5f309ade9 Fix sprites 2025-05-29 03:08:09 +02:00
Magnus Norddahl
858013e607 Slice the BSP and process it on worker threads 2025-05-29 02:09:29 +02:00
Magnus Norddahl
3e1f22e4c0 Move CheckUpdate to main thread and use the portal clip 2025-05-29 01:21:20 +02:00
Magnus Norddahl
ead947b8b0 Add BSP walker class that can be run on multiple threads 2025-05-29 01:02:21 +02:00
dpjudas
9916b96e23 DispatchLightTiles seems to be crashing in some configurations 2025-05-28 03:21:43 +02:00
dpjudas
cc92dda41a Avoid applying state on every draw 2025-05-26 04:26:36 +02:00
Magnus Norddahl
addddcd8ed Use clipper to find visible walls for hw_levelmesh 2025-05-26 02:03:47 +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
3a9373da6c Don't draw translucent stuff with indexed textures 2025-05-20 03:41:20 +02:00
Magnus Norddahl
990ce7c6c9 Render scene with indexed textures for vid_rendermode 2 2025-05-19 05:55:03 +02:00
Magnus Norddahl
76fb5901d7 Only force baking of tiles where the geometry changed 2025-05-13 01:52:02 +02:00
Magnus Norddahl
398c9304b6 Enable background tile updates again 2025-05-13 00:27:42 +02:00
Magnus Norddahl
2c069349a3 Portal and high update count fixes 2025-05-12 00:39:41 +02:00
Magnus Norddahl
6cf3cdb871 Make LevelMeshUpdater responsible for updating the tiles (playsim tells the mesh updater, the level mesh tells the tiles) 2025-05-11 20:11:18 +02:00
Ricardo Luís Vaz Silva
0efa138cca fix up merge issues 2025-05-02 17:19:07 -03:00
Ricardo Luís Vaz Silva
9aa44fa13b Merge branch '4.14.2' into gz_merge 2025-05-02 17:15:41 -03:00
dileepvr
a2236c144e Ensure boolean to suppress compiler warning
Finally used `!!(...)` somewhere.
2025-04-29 07:56:19 -03:00
dileepvr
451b5cb5d9 Boolean op instead of mod with 2
`( ... & 1)` is simpler than `(... % 2 != 0)`.
2025-04-29 07:56:19 -03:00
dileepvr
4162c4b19e Fixed pitch culling in reflective flats for OoB Viewpoints
The vertical clipper needed viewpoint pitch sign to be flipped to work correctly. Only relevant for OoB viewpoints.
2025-04-29 07:56:19 -03:00
Dileep V. Reddy
c7d25f1452 Addressing some small regression by conditioning a few calculations on OoB viewpoints. Branching Frustum calculation to old method. 2025-04-09 14:19:56 -03:00
Dileep V. Reddy
a0f3ed11cd Reflective flats now work with OoB viewpoints, including ortho. Had to create a new type of portal stencil for the HWPlaneMirrorPortal. Stacked sector portals could be made to work the same way, but there are clipper issues, revealing out-of-view sections of the map on the other side. Hence sector portal rendering is still disabled in OoB viewpoints. 2025-04-09 14:19:55 -03:00
Dileep V. Reddy
e73c283a97 Making 3D-floors respond to r_dithertransparency properly. 2025-04-09 14:19:55 -03:00
Dileep V. Reddy
8a66eff437 Added visual rendering for LinePortals and SkyPortals for OoB viewpoints. SkyPortals will be stenciled, and will always use perspective projection. Disabled interpolation when portalgroup changes (portal transition occurs) if viewpoint is OoB (was necessary for fog of war when r_radarclipper is set to true). Tightened up radar clipper by making it more aggressive. Voided walls wont' get filled in by a floor or ceiling sky (because of the stencil). Ceiling sky will be half-infinitely tall upwards, and floor sky will be half-infinitely tall downwards. Use only floor skies and a good GLSKYBOX for top-down/isometric cameras. Level.ReplaceTextures("F_SKY1", "SKY1", TexMan.NOT_FLOOR); (zscript) is a nice trick for WorldLoaded(). 2025-04-09 14:19:55 -03:00
Dileep V. Reddy
527a09c66b 3D floor flats now respect r_dithertransparency flag (how did this make it into vkdoom but not gzdoom?) 2025-04-09 14:19:55 -03:00
dpjudas
00a9c964b8 Render the world surfaces always in DF_LEqual mode instead of sometimes using DF_Less. 2025-04-07 01:08:49 +02:00
Dileep V. Reddy
6c93c3d564 Allow portal rendering and sky rendering (with stencils) and reflective flats with OoB and Ortho viewpoints. Works with r_radarclipper too. 2025-03-13 03:07:46 +08:00
Ricardo Luís Vaz Silva
7c2b228c46 add uCameraNormal 2025-02-17 02:34:45 +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
e75d8d35eb move gl_light_shadow_filter from HWViewpointUniforms to VkShaderKey 2025-01-03 07:30:54 +01:00
Boondorl
3a179ec1c6 Make coronas array global
Correctly collect all coronas to be drawn across all view points
2025-01-01 23:12:48 +01:00
Boondorl
d3fe5a1946 Fixed corona appearing in wrong world position 2025-01-01 13:27:51 +08:00
Boondorl
4c5375c553 Fixed coronas not respecting static portals 2025-01-01 13:27:51 +08:00
Ricardo Luís Vaz Silva
aa51ac7b6d only lightmap updated tiles once they're visible 2024-12-22 00:28:03 +01:00
Ricardo Luís Vaz Silva
c2901404d5 ensure non-dynamic tiles are baked first 2024-12-14 05:40:32 +08:00
dpjudas
dfbef085e6 Group lightmap variables and put polyobj walls in a dynamic lightmap atlas 2024-10-22 02:29:12 +02:00
Ricardo Luís Vaz Silva
04ee3c335e switch from uniform to shader keys 2024-10-09 04:44:51 +02:00
Ricardo Luís Vaz Silva
37a7907221 Allow setting light attenuation mode from mapinfo 2024-10-09 04:44:51 +02:00
nashmuhandes
58ddcd4806 Merge commit '6b5be653dc' 2024-10-06 21:29:38 +08:00
Dileep V. Reddy
568a39d203 Removing pre-clipping of Frustum if pitch > 46 degrees and viewpoint is not allowed out of bounds. This is like old behavior. 2024-09-30 10:16:50 -04:00
Magnus Norddahl
1e23dcee7c Some initial decal rendering 2024-09-28 22:17:17 +02:00