Eric Wasylishen
76d0dae890
mathlib: GLM_InterpolateNormal: quick hack to fix build of testlight
2021-10-08 19:31:06 -06:00
Jonathan
1b1679fa22
normals are now a special tuple-ish type, so that we can calculate tangents and bitangents for Q2RTX if requested (currently it always does it, but we can fix that later)
...
always emit texinfo for q2 brush sides
2021-10-08 14:17:48 -04:00
Jonathan
52839d4e7f
Run clang-format pass
2021-10-05 15:54:06 -04:00
Jonathan
ae4512da2c
BSPX structurization and cleanup
...
Some more vec3_t removals
A bunch of float -> vec_t in light
Simplified construction of lockables
mapdata_t writes directly to an mbsp instead of vector copies
2021-10-03 12:16:13 -04:00
Jonathan
792951792c
some more cleanup
2021-10-02 05:56:45 -04:00
Jonathan
a6f6cc2d15
qvec now has an empty default initializer, for speed purposes; fixed up places that relied on this behavior
...
simplified constructor for qvec(T...) that uses fold expressions
simplified rgba_miptex_t
fixed a lot of broken winding_base_t behavior
merged all winding types into winding_base_t
removed now-empty files
2021-09-27 20:44:15 -04:00
Jonathan
6ff2d67d12
major C++-esque change to BSP conversion:
...
- main mbsp types are declared first in the files, and types that were single-member are now not structs
- conversion is handled by the sub-types themselves. Currently no diagnostic for *what* members overflow, but, overflow is handled via thrown exceptions on all overflowable members
- aabb type is used where appropriate now, simplifying a few areas
2021-09-22 17:30:46 -04:00
Jonathan
49fd62b9f3
Lotta more file stuff. Have to think about fscanf though.
2021-09-19 22:20:39 -04:00
Jonathan
e8bd554cc0
winding_t is now a C++ type - a hybrid stack/heap array.
...
In preparation for converting all of the vec_t[3] to qvec's, the Vector routines are now templated and work with any type that provides indexing operators.
Polylib.cc is gone, since this all needs to be in header now
qvec can now implicitly convert from T[N]
constexpr where appropriate
static inline -> inline
side_t is now an enum, moved into mathlib
2021-09-16 03:10:51 -04:00
Jonathan
eb6bb81d61
use the C++ includes
...
stdbool not required
_vsnprintf and _snprintf are standard in MSVC since 2015, so I just use them directly now. They'll be replaced by std::fmt later anyways.
use <thread> for threading, instead of pthreads/windows.h thread directly
2021-09-14 08:46:03 -04:00
Jonathan
7f8d2cfb49
Fix single line functions
2021-09-14 02:56:44 -04:00
Jonathan
4e7542b111
Clang format pass
...
typedef -> using
include guards -> pragma once
typedef struct x { } y; -> struct y { }
some fixes to extremely old code that shouldn't be required any more
2021-09-14 02:32:26 -04:00
Eric Wasylishen
fa06716545
common: make VecStrf/VecStr threadsafe
2018-07-24 00:18:43 -06:00
MaxED
07447a633e
Rewritten parts of surface light logic. Should resemble qrad3 looks a bit more now...
...
Added "surflightscale", "surflightbouncescale" and "surflightsubdivision" cmdline/worldspawn settings.
Fixed: a face should not be skipped when it has both sky and nodraw texinfo flags.
Fixed some non-windows compilation errors.
2018-05-25 14:59:22 +03:00
MaxED
0661098bc5
Quake 2 support: area lights, palette/texture loading, transparent/sky/fence face flags.
2018-05-08 15:50:01 +03:00
Eric Wasylishen
b3cd6ccc1a
light: GLM_InterpolateNormal: make more robust against degenerate tris
2018-01-28 02:29:24 -07:00
Eric Wasylishen
6b14e166b8
light: make GLM_InterpolateNormal return failure on degenerate input
2018-01-28 02:19:09 -07:00
Eric Wasylishen
d10dec1803
light: make GLM_PolyCentroid accept degenerate faces (todo: must rename these)
2018-01-12 00:36:12 -07:00
Eric Wasylishen
82e3aef283
light: add FacePairConcavity
2018-01-11 21:57:48 -07:00
Eric Wasylishen
d31d3621bc
light: add MakePlane function
2017-12-10 21:28:35 -07:00
Eric Wasylishen
d4d2d537eb
light: split GLM_PolyRandomPoint into precomputed portion
...
take uniform random params explicitly
2017-11-24 18:01:18 -07:00
Eric Wasylishen
88ee157b97
mathlib: add LinesOverlap function
2017-11-23 23:45:00 -07:00
Eric Wasylishen
9629134612
qbsp: fix some issues with SplitBrush
2017-07-23 01:32:04 -06:00
Eric Wasylishen
5893c16267
mathlib: add AddPointToBounds, ClearBounds
2017-07-22 16:31:15 -06:00
Eric Wasylishen
4853dd40ee
mathlib: RotateAboutX/Y/Z: change to double
2017-07-05 15:02:24 -06:00
Eric Wasylishen
4d9b41d3ec
mathlib: fix SetPlanePts linkage
2017-06-20 17:07:36 -06:00
Eric Wasylishen
af264821b7
mathlib: factor out SetPlanePts
2017-06-20 14:39:15 -06:00
Eric Wasylishen
c1f3a0f2e4
mathlib: ClosestPointOnLineSegment: handle degenerate line segment
2017-06-15 03:30:43 -06:00
Eric Wasylishen
7545119593
mathlib: change RotateAboutZ to double
2017-06-15 03:30:10 -06:00
Eric Wasylishen
e0564e8c2a
common: mathlib: don't need #define ANGLEEPSILON
2017-04-26 14:29:07 -06:00
Eric Wasylishen
ca58e90e15
common: remove EQUAL_EPSILON from mathlib.hh
2017-04-26 14:25:55 -06:00
Eric Wasylishen
902c45c946
all: make VectorCompare take an explicit epsilon
2017-04-26 14:20:45 -06:00
Eric Wasylishen
15cc98eb27
common: move SignedDegreesBetweenUnitVectors from qbsp, add test
2017-04-26 14:04:33 -06:00
Eric Wasylishen
68b084a6c3
replace glm with qvec
2017-04-24 00:26:49 -06:00
Eric Wasylishen
48e057b31a
common: add qv::to_string
2017-04-23 20:57:35 -06:00
Eric Wasylishen
1c1c105abb
common: switch away from glm::closestPointOnLine
2017-04-23 20:51:02 -06:00
Eric Wasylishen
e5ec45cbe2
common: remove last use of glm::quat
2017-04-23 20:34:21 -06:00
Eric Wasylishen
fab993ad8d
common: add some rotation matrices
2017-04-23 19:59:57 -06:00
Eric Wasylishen
7887318def
common: move vec_from_mangle and mangle_from_vec to mathlib
2017-04-23 19:31:00 -06:00
Eric Wasylishen
fd8eafddee
common: add ClosestPointOnLine[Segment]
2017-04-23 14:06:58 -06:00
Eric Wasylishen
3f067e001a
common: add DistToLineSegment
2017-04-23 02:05:19 -06:00
Eric Wasylishen
56513cdb8e
common: add DistToLine
2017-04-23 01:39:59 -06:00
Eric Wasylishen
c1189abccd
common: split up new octree/mesh/aabb/qvec stuff
2017-04-22 13:29:32 -06:00
Eric Wasylishen
d374a01b5a
mathlib: octree: change to storing in a std::vector
2017-04-20 00:59:00 -06:00
Eric Wasylishen
5b63ddbeba
mathlib: octree, aabb_t rework
2017-04-19 14:02:30 -06:00
Eric Wasylishen
055b5061f1
light: start a mesh_t class
2017-04-19 14:02:19 -06:00
Eric Wasylishen
30d9a53341
light: move FractionOfLine to mathlib
2017-03-18 23:26:16 -06:00
Eric Wasylishen
3e7b4448c1
mathlib: add GLM_PolyArea
2017-03-18 23:26:10 -06:00
Eric Wasylishen
0eb6864744
mathlib: add GLM_PolyRandomPoint
2017-03-12 12:58:36 -06:00
Eric Wasylishen
902fe7073c
mathlib: add RotateFromUpToSurfaceNormal
2017-03-07 13:13:24 -07:00