Commit Graph
59 Commits
Author SHA1 Message Date
Garux 0b6569a772 minor tweaks 2025-11-29 07:36:03 +05:00
Garux d9e1e02115 add class Pacifier 2025-11-27 02:43:28 +05:00
Garux 63c75fc234 add mesh_view_t 2025-11-26 02:14:17 +05:00
Garux 75a5402a18 * volumetric merge of triangles for model autoclip in axial backplane, max extrude modes
* merge coplanar triangles for model autoclip in terrain, up, down modes
2025-11-25 07:21:28 +05:00
Garux 31100322e6 minor tweaks 2025-11-17 20:49:07 +05:00
Garux f028db25dc fix FanFaceSurface() precision 2025-11-16 11:30:39 +05:00
Garux ef8c3fd7c1 add MeshQuadIterator 2025-11-07 20:49:29 +05:00
Garux d19c89224a refactor mesh_t 2025-11-06 19:30:15 +05:00
Garux 6811cf835c refactor mapDrawSurface_t 2025-11-05 20:05:51 +05:00
Garux 6ed1c05b20 tweak sideRef_t 2025-11-03 16:56:05 +05:00
Garux 5b380fd6fe remove explicit float literal specifiers 2025-11-02 01:27:42 +05:00
Garux 17d6588d1a use std::fabs to avoid conversion to double 2025-11-01 19:08:32 +05:00
Garux 4bbb043eff minor tweaks 2025-10-27 02:41:26 +05:00
Garux 553dd81247 minor tweaks 2025-10-26 00:35:05 +05:00
Garux abadf52398 * support separated _ambient, _color per group, misc_model entities 2025-10-25 22:10:56 +05:00
Garux 2580a1ee17 minor tweaks 2025-09-23 03:59:53 +05:00
Garux 66e15e9ba0 minor tweaks 2025-09-23 02:45:24 +05:00
Garux 7ddab0634b minor tweaks 2025-09-17 14:49:19 +05:00
Garux d7f3e9bd3f minor tweaks 2025-09-04 16:01:47 +05:00
Garux 911a7cceeb minor tweaks 2025-09-03 00:29:13 +05:00
Garux 607d4c67ad tweak formatting 2025-02-05 15:59:29 +05:00
Garux 4a368deef0 minor refactoring 2025-02-04 12:15:12 +05:00
Willi Schinmeyer 27c5b9e78b Rework TemplateString for standard compliance
Creating an std::integer_sequence from a user-defined string literal is
a non-standard gcc extension. This alternative implementation should
conform to C++20.
2024-12-05 19:00:23 +05:00
Garux 2afef413c0 fix floating point errors 2024-11-16 05:52:52 +05:00
Garux c166e4214e * improved brush faces triangulation wrt degenerate triangles production (non -maxarea algorithm) 2024-11-11 04:59:17 +05:00
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