34 Commits

Author SHA1 Message Date
Garux
6abeb431e3 fix ds->lightmapAxis after MergeMetaTriangles 2024-02-26 17:39:13 +06:00
Garux
a5d0ae72d1 fix SmoothMetaTriangles()
mainly fixes celshading, as it's about coincident vertices with varying normal smoothing params
2022-11-01 13:00:10 +03:00
Garux
6c129e546f store winding points in double precision 2021-11-23 14:48:00 +03:00
Garux
d75792d9a9 fix the build 2021-11-06 23:10:15 +03:00
Garux
d1610b49ff move Timer class to header, use it in q3map2 2021-11-04 17:25:04 +03:00
Garux
da98e8fde3 various code cleanups 2021-10-30 16:04:31 +03:00
Garux
e62da4c621 * patchMeta: fix: keep playerclip patches for collisions
* autocaulk: do not impact fog brushes with all faces culled (global fog case)
decompilation: detail flag deduction: avoid detail hints, areaportals, antiportals by surfaceparm structural check
change hardcoded surfaceflags use to statically evaluated ones for the given game
2021-10-29 11:29:32 +03:00
Garux
977781a621 minor tweaks 2021-10-26 17:26:35 +03:00
Garux
6a7550a6ba shorten special class members declarations 2021-10-14 23:31:07 +03:00
Garux
43b5148447 remove -metaMaxBBoxDistance
with current 'pre weld' strategy it's not optimization anymore, also wont work as option to merge non welded triangles with adjusted meta score
2021-09-05 14:45:01 +03:00
Garux
191d489d62 * hasten MergeMetaTriangles and SmoothMetaTriangles to perform typically in 0 seconds
* improve quality of metasurfaces and reduce their count in general case
2021-09-05 11:37:00 +03:00
Garux
bafb339c09 MergeMetaTriangles: epsilon compare st, improves merging imprecise sts, e.g. for nonplanar surfaces after q3map_tcgen or just brush face texture projection 2021-09-03 06:23:40 +03:00
Garux
d113eed245 improve MergeMetaTriangles out surfaces quality and reduce count 2021-09-03 06:19:41 +03:00
Garux
7f8e548c2f * hasten MergeMetaTriangles greatly (around 30 times in worst case)
this has negative impact on surfaces count in certain scenario (big axial surface of easily mergable triangles)
it wins predecessor once we rotate such surface
so may be consider choosing sorting plane per lump or mergables
algorithm itself is dependent on test data ordering, thus best option would be tweaking it, not prerequisites
`redundant indexes suppressed` count is always worse with this due to sorting nature, sorting per axial plane helps
assuming this optimization is not important and case dependent
2021-09-01 20:16:57 +03:00
Garux
f067b5d6c3 tweak -meta 2021-08-28 18:37:22 +03:00
Garux
0ad3d89d4a use spatially sorted indices during search of coincident vertices in AddMetaVertToSurface 2021-08-28 10:56:50 +03:00
Garux
e780b45696 enfasten -meta for nonplanar by doing cheap check 1st 2021-08-27 17:13:26 +03:00
Garux
160c1d33db remove -texrange business (assuming it's not relevant for decades)
optimize -meta (shave off 1/3 in worst case)
2021-08-27 12:18:56 +03:00
Garux
2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux
c7fedadcd1 use std::vector for flagging in SmoothNormals()
functions run about 10% faster due to cheaper access to a flag
2021-03-13 11:16:07 +03:00
Garux
1144be0881 add BasicVector3 uniform constructor 2021-03-11 19:14:07 +03:00
Garux
98f9023cdc minor tweaks 2021-03-11 10:57:17 +03:00
Garux
0737e962de use std::sort instead of qsort 2021-03-09 20:09:08 +03:00
Garux
293fab0ffb manage color-to-byte conversions 2021-03-05 13:37:56 +03:00
Garux
902fb46938 random tweaks 2021-03-04 16:11:00 +03:00
Garux
f9a424b6c8 more c++ 2021-03-02 22:01:09 +03:00
Garux
9857bb955b more c++ math 2021-02-26 01:10:51 +03:00
Garux
4ce944444d rewrite q3map2 math in c++ 2021-02-25 19:41:43 +03:00
Garux
99a5ef0416 refactor entity key values routines 2021-01-30 16:23:31 +03:00
Garux
623163ae9c remove unused markers 2021-01-28 02:12:15 +03:00
Garux
e11aede11a refactor surfaceType_t enum 2021-01-27 19:43:53 +03:00
Garux
20b908e31b remove excess typedef struct declarations 2021-01-23 19:26:50 +03:00
Garux
13524d59ef fix the build 2021-01-16 15:10:59 +03:00
Garux
fafa271a46 turn quake3 tools to cpp 2021-01-15 01:37:23 +03:00