Commit graph

294 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
1f6356f414 Plane shadow vertices must be created after the level mesh, otherwise they do not receive the lightmap UV coordinates 2023-12-26 04:31:00 +01:00
Magnus Norddahl
4ae767cc5a Fix polyobj planes ending up in the level mesh 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
412be46e08 Misc surface and lightmapper related cleanup and renaming 2023-12-26 04:30:59 +01:00
Magnus Norddahl
75e33c4923 Move portal creation out of the submesh 2023-12-26 04:30:58 +01:00
Magnus Norddahl
bdda16a4f0 Fixes that got lost in the rebase 2023-12-26 04:30:58 +01:00
Magnus Norddahl
26b9c52427 Move halffloat to utility 2023-12-26 04:30:58 +01:00
Magnus Norddahl
6a77924207 Group mesh buffers 2023-12-26 04:30:58 +01:00
Magnus Norddahl
ac212e0147 Use HWFlat for ceilings and floors 2023-12-26 04:30:57 +01:00
Magnus Norddahl
9f963e2c06 Rename lightmap fields to surface as it is being used for more than lightmaps now 2023-12-26 04:30:56 +01:00
Magnus Norddahl
4f4d859fd9 Move some code 2023-12-26 04:30:56 +01:00
Magnus Norddahl
240d68d7ae Merge SurfaceVertex with FFlatVertex and draw the lightmaps 2023-12-26 04:30:54 +01:00
Magnus Norddahl
58381ec762 Use a TArrayView for the lightmap arrays 2023-12-07 12:48:48 +01:00
Magnus Norddahl
4665f8ff79 Merge remote-tracking branch 'gzdoom/master' 2023-10-25 22:25:12 +02:00
Christoph Oelckers
b48caddb96 reworked the skewing properties.
The Eternity-based definitions are currently disabled due to unclear semantics and overall unsatisfying design. They can be re-enabled once their precise working has been established.
New properties were added to replace them with something that will be clearly specified and is fully ortohonal i.e. they will allow to align an upper tier skew with the floor as well and a lower tier's skew with a ceiling.
2023-10-20 18:14:20 +02:00
Professor Hastig
f92f6b8de4 added wall texture skewing.
This uses the same UDMF properties as Eternity recently introduced for the same feature.
2023-10-20 08:23:56 +02:00
Magnus Norddahl
e75e5a387b Merge remote-tracking branch 'gzdoom/master' into merge-gzdoom 2023-10-19 21:05:17 +02:00
Magnus Norddahl
9a334570f0 Add lm_dynamic UDMF boolean on sectors for marking if a sector should update its lightmap dynamically 2023-10-17 19:10:39 +02:00
dpjudas
411b281e7c Remove multithreading RenderState as that seemed to be a poor approach 2023-10-09 03:20:19 +02:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers
89535b803a Backend update from Raze. 2023-10-07 18:42:24 +02:00
Magnus Norddahl
697e7982a7 Turn off lightmaps for levels that have none 2023-10-03 18:24:11 +02:00
Christoph Oelckers
48ba63c022 added even more explicit GetChars() calls. 2023-10-03 15:55:08 +02:00
nashmuhandes
bb347e1c69 Unify the custom sample distance variable names 2023-10-03 18:18:47 +08:00
nashmuhandes
ba023efe73 Update ZDRay UDMF specs and remove deleted features. 2023-10-03 17:59:06 +08:00
Magnus Norddahl
bcea260f33 Fix misc bugs related to the dynamic lightmap and polybsp lines in the lightmapper 2023-10-02 02:40:40 +02:00
Magnus Norddahl
7bc52386f9 Make doom specific surface fields private to doom 2023-09-30 21:33:07 +02:00
Magnus Norddahl
65929d021f Add support for multiple meshes (DoomLevelSubmesh) 2023-09-25 23:28:49 +02:00
Magnus Norddahl
9e136a7e79 Fix maploader warning 2023-09-19 00:46:20 +02:00
RaveYard
dc936ed32b Use LIGHTMAP lump surface dimensions before packing the lightmap atlas 2023-09-18 16:36:09 +02:00
RaveYard
2f1acda776 Optimize lightmap lump loading 2023-09-18 16:36:09 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Christoph Oelckers
f7c379b720 - fixed: The UDMF loader did not adjust the floor/ceiling overlap state after processing UDMF sector plane properties. 2023-09-16 21:55:35 +02:00
Christoph Oelckers
ea51c92fda - validate partner seg index in LoadGLZSegs before using it
KDiZD Z1M10 has something bogus in there, this case will now trigger a node rebuild.
2023-09-16 09:48:43 +02:00
RaveYard
d609396e3b Add ton of debug code hidden under 'developer' cvar for lightmap lump loading and other error detection measures 2023-09-15 10:43:56 +02:00
RaveYard
315475156c Add error detections when the surfaces sizes do not match 2023-09-15 10:43:56 +02:00
RaveYard
e265be959a Enforce ZDRay limit on default sampledistance when loading LIGHTMAP to avoid surface size mismatches. 2023-09-15 10:43:56 +02:00
RaveYard
5a55033ef7 Use UVs from the lightmap 2023-09-15 10:43:56 +02:00
RaveYard
05964f3c8e Initial implementation of V2 lightmap lump loading 2023-09-15 10:43:56 +02:00
Christoph Oelckers
6847a9a5c1 - added a nomirrors compatibility handler and applied it to Conf256's CONF55 map.
This is for disabling broken plane reflection setups.
2023-09-14 20:21:35 +02:00
RaveYard
476c98fdfa Fix edge case where the lightmap lump surface touches the edge of the atlas page 2023-09-13 21:58:11 +02:00
RaveYard
22368c0f40 Clean unused code 2023-09-13 21:58:11 +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
nashmuhandes
99983b37ca Update ZDRay UDMF specs and remove deleted features. 2023-09-11 20:09:16 +02:00
Christoph Oelckers
de770faeb1 - disabled nosectionmerge because it doesn't work right. 2023-09-06 21:47:20 +02:00
RaveYard
0faacaaf0f Fix InitLevelMesh called before line portals are set 2023-09-05 17:54:11 +02:00
RaveYard
036debfac6 Sector portals sunlight only 2023-09-05 17:43:38 +02:00