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