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
Jonathan
c575334dff
Fix testlight
2021-09-13 10:15:11 -04:00
Eric Wasylishen
28b4ec7f3f
ci: fix linux CI ( #321 )
2021-09-12 16:40:56 -06:00
Jonathan
c95a1e2ccb
q2 and bug fixes
...
# Conflicts:
# include/qbsp/qbsp.hh
# include/qbsp/winding.hh
# qbsp/brush.cc
# qbsp/csg4.cc
# qbsp/merge.cc
2021-09-12 08:34:01 -04:00
Eric Wasylishen
3f2d8c57c1
build: fix finding embree license with mac package
2021-09-12 01:30:20 -06:00
Eric Wasylishen
bd3452bfdc
build: simplify light build (embree handling)
2021-09-12 01:30:20 -06:00
Eric Wasylishen
3d9d167360
build: fix build-osx.sh
2021-09-11 13:12:25 -06:00
Jonathan
00efa6e67d
Fix operator<
...
Introduce gamedef, to reduce rewriting of data in bspversions
fix name of needs_subdivision
include value in texinfo, in prep for Q2
2021-09-07 01:41:32 -04:00
Jonathan
437459a4dd
Finish using game everywhere
2021-09-06 18:09:13 -04:00
Jonathan
3bc9b1b0f8
Instead of directly comparing BSP version pointers just for game type, I compacted quake2/hexen2 into a single enum.
...
Feature check in bspver for colored lightmaps, which replaces the many "version == q2 || version == qbism || version == hl".
2021-09-06 17:13:37 -04:00
Jonathan
8fd1d89b8d
Fix double-delete
...
Fix typo
2021-09-05 17:39:17 -04:00
Jonathan
dad0e61f63
Fix for texinfo/miptex searching routines
...
surf flags now use the "native + extended" format that will eventually be used for brush contents. Q1 output seems identical, haven't tested Q2 yet.
2021-09-05 16:56:29 -04:00
Jonathan
90973e1198
Q2bsp VIS support ( #315 )
...
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.
* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP
* Fix light
* _qbsp_ -> _qbism_
* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
- bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
- bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
- vis/rad on anything major (I still can't run rad due to embree being weird)
- bsputil conversion of Q1-esque maps
* Q2 VIS
Almost working, just in-game is not 100% functional
* PHS! Q2 VIS!
* Fix missing loadversion assignment
Fix missing \n
* Implement q2bsp -> mbsp visdata copy
fix sky lighting to use arghrad compat
2021-08-31 22:38:12 -06:00
Eric Wasylishen
968a840e47
light: make a certain degenerate face non-fatal
...
seen compiling ad_sepulcher.map with qbism q2 tools
2021-08-29 20:43:55 -06:00
Jonathan
eaa86c71c6
Q2BSP + QBSP ( #313 )
...
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.
* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP
* Fix light
* _qbsp_ -> _qbism_
* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
- bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
- bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
- vis/rad on anything major (I still can't run rad due to embree being weird)
- bsputil conversion of Q1-esque maps
2021-08-23 09:56:33 -06:00
Eric Wasylishen
3b17e577b5
build: fix linking to embree under vcpkg
2021-08-22 13:48:53 -06:00
Eric Wasylishen
2ff31d012e
light: fix all rays missing on debian/ubuntu's embree builds
2021-08-05 20:11:44 -06:00
Eric Wasylishen
ff5572f97d
light: log number of bounce lights at the end of MakeBounceLights
2021-07-13 22:47:53 -06:00
Eric Wasylishen
ffe90adc1c
light: improve logging
2021-05-21 22:01:09 -06:00
Eric Wasylishen
6ecdd444ca
light: optimize surface light generation
2021-05-21 22:01:09 -06:00
Eric Wasylishen
3f00d2fd00
light: add fixme
2021-05-21 20:47:25 -06:00
Eric Wasylishen
fbde6065fa
light: raise max verts in SubdividePolygon to 64 (for surface lights)
2021-04-11 20:57:30 -06:00
Eric Wasylishen
fea7849315
common: preserve order of key/value pairs
2021-02-10 00:05:53 -07:00
Eric Wasylishen
fcf0ebbbfe
build: upgrade googletest
2021-02-07 14:42:12 -07:00
Eric Wasylishen
b5fcdec19e
cleanup: remove "byte" typedef
2021-02-07 14:02:35 -07:00
Eric Wasylishen
f12e87f2b7
light: build fix. Glass/fence textures will need to be fixed.
2021-02-01 02:20:02 -07:00
Eric Wasylishen
9124653156
common: move EntData_ function to common
2021-01-30 21:11:25 -07:00
Eric Wasylishen
a8be516bf4
light: embree3 port
2021-01-02 02:21:03 -07:00
Eric Wasylishen
94c30afac4
light: refactoring necessary to support embree3
2021-01-01 23:48:22 -07:00
Eric Wasylishen
cce0fd98f9
light: document some intersection vs occlusion trace choices
2021-01-01 22:58:09 -07:00
Eric Wasylishen
09623934e8
light: q2: change sky lighting logic: only emit light if: sky flag set, light flag set, value nonzero
...
TODO: may need to use "value" more than just checking for nonzero
2021-01-01 00:30:40 -07:00
Eric Wasylishen
3b629f3ce9
light: fix q2 lightstyles
2021-01-01 00:14:52 -07:00
Eric Wasylishen
00e41688c3
light: quake2: arghrad-compatible phong support
...
(set face "value" to the same non-zero number, have light flag unset)
2020-12-31 12:39:17 -07:00
Eric Wasylishen
d8b30c1080
light: don't throw an error on -v (passed by quark)
2020-12-29 16:40:09 -07:00
Eric Wasylishen
2d15d20410
light: q2: avoid black seams on geometry near sky
2020-12-29 15:58:40 -07:00
Eric Wasylishen
eb842ba165
light: arghrad compat: preliminary sky_surface implementation
2020-12-29 13:43:06 -07:00
Julian Priestley
1b714108cd
Add ability to set phong in worldspawn #267 ( #305 )
2020-11-30 00:42:42 -07:00
Eric Wasylishen
b6e6688ab4
light: use RTC_SCENE_HIGH_QUALITY. Fixes leaking through a joint
...
between 2 ceiling faces in a test case from 4LT
2020-08-20 18:02:38 -06:00
Eric Wasylishen
b35cb8eb7e
light: fixes for bjptools skip faces (which have no associated model)
2020-08-20 12:08:46 -06:00
Eric Wasylishen
5ca74ec8b3
light: don't apply AO when gathering light to bounce
2020-08-04 19:18:14 -06:00
Eric Wasylishen
263f6301a6
light: change switchable shadows to only block style 0
...
The interactions with switchable/flickering lights were bad, previously
(a switched-off light would become "on" after passing through a switched
off shadow)
2020-08-04 18:14:01 -06:00
Eric Wasylishen
a0e7f1eccb
light: refactor last commit's std::pair to a custom struct
2020-08-04 18:05:54 -06:00
Eric Wasylishen
1b53d458f4
light: support bounce and switchable shadows
...
fixes #251
2020-08-03 23:53:07 -06:00
Eric Wasylishen
03ed0697a4
light: add -litonly option for re-lighting a bsp without modifying it
2020-08-03 00:40:13 -06:00
Eric Wasylishen
4e9e94e7bd
ltface: GetLightContrib: handle light right on top of sample point
2020-06-25 00:03:38 -06:00
Eric Wasylishen
7b5824ad2b
build: mark embree as required
2020-01-29 23:10:17 -07:00
Eric Wasylishen
060c44bd02
light: move function
2019-12-28 22:47:15 -07:00
Eric Wasylishen
d6136c154d
light: add _light_alpha func_group key for making faces translucent for
...
light
2019-12-28 21:48:33 -07:00
Eric Wasylishen
2d3aa22242
light: add _nostaticlight key
2019-12-26 17:13:21 -07:00
Eric Wasylishen
22469857f0
light: rename new -light flag to -radlights, because it was clobbering
...
the existing -light flag for setting minlight
2019-12-11 01:17:53 -07:00
Eric Wasylishen
a4c1ce6ff6
qbsp, light: support _lightignore on func_detail/group
2019-12-09 00:09:20 -07:00
Eric Wasylishen
6b1bbf25ae
light: fix order of settings loading for last commit
2019-10-31 00:51:56 -06:00
Eric Wasylishen
b132152891
light: allow starting assigning switchable styles before default of 32
2019-10-31 00:40:23 -06:00
Eric Wasylishen
cf66248261
light: add update to use rtcOccluded1Ex missed in last commit
2019-10-28 01:19:20 -06:00
Eric Wasylishen
4456020b30
light: remove 65536 ray limit, fixes #276
2019-10-28 01:12:23 -06:00
Eric Wasylishen
79d3aa99de
qbsp: fix relative paths for .wad files
...
Fixes #279
2019-10-27 19:03:45 -06:00
Eric Wasylishen
99cdf3e4dd
cmdlib: another test for StripFilename
2019-10-27 17:44:41 -06:00
Eric Wasylishen
f7a55af513
common: add StripFilename test
2019-10-27 14:06:10 -06:00
Eric Wasylishen
dca61f8bc2
light: fix "unexpected geomID" error with bounce
2019-10-10 09:14:35 -06:00
Eric Wasylishen
d4cc19afc5
light: rename _dome to _sunlight2/_sunlight3
2019-10-09 20:24:18 -06:00
Eric Wasylishen
fa62b20603
light: add a limited version of Lunaran's "_dome" light feature
...
that only supports domes oriented up/down like sunlight2/3
2019-10-09 02:12:04 -06:00
Eric Wasylishen
70336339ca
light: fix "_suntexture" interaction with -bounce
2019-10-09 00:59:49 -06:00
Eric Wasylishen
f220b2f531
light: support "_suntexture" key on "_sun" "1" entities to limit them
...
to being cast from a specific sky texture.
Fixes #110
2019-10-09 00:47:39 -06:00
Eric Wasylishen
d2ecc73db3
light: support "style" / "targetname" on "_sun" "1" entities.
...
Fixes #253
2019-10-08 23:43:22 -06:00
Eric Wasylishen
af4deba237
light: print key name for Key length > MAX_ENT_KEY-1 error
2019-08-10 20:42:16 -06:00
Shpoike
89365949bc
Squashed commit of the following:
...
commit 8ca122916d
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:54:23 2019 -0600
fix linker error (radlights is in 2 .cpp files)
commit 8f06fc9c8d
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:53:57 2019 -0600
add clarification comment
commit 038a553fb0
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:30:27 2019 -0600
fix tests compilation
commit 02e94ec507
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:59:25 2019 -0600
hlbsp: use q_snprintf
commit 669a5a7911
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:56:21 2019 -0600
Reformat
commit 6653760982
Merge: 347a455 ac3553c
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:28:06 2019 -0600
Merge remote-tracking branch 'origin/master' into hlbsp
# Conflicts:
# include/qbsp/qbsp.hh
commit 347a455102
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 02:18:16 2019 +0000
Misc HLBSP tweaks
Added support for multiple -wadpath args.
Added -xwadpath (for eg valve/*.wad to avoid bloat/license issues).
Reworked hint brushes - the non-hint surfaces can use any name, just so long as they're not 'hint', for compat with zhlt.
Support 'bevel' and 'null' textures for compat with zhlt.
commit 7fb22c7367
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 01:59:42 2019 +0000
Support for halflife-style .rad surface lights (probably too bright, but the basics work).
commit 2da504fb62
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 01:56:27 2019 +0000
Add minus-prefixed textures for halflife's randomised-textures feature, instead of getting crash-to-desktop errors when the map is loaded.
commit 6366199bdb
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 21 04:51:24 2019 +0000
First attempt at hlbsp output.
2019-07-04 21:08:17 -06:00
Eric Wasylishen
5010dc92fb
light: bounce: also make shadow-casting bmodels bounce (unless they
...
opt-out with _bounce -1)
2019-05-12 16:39:06 -06:00
Eric Wasylishen
ba7bdf86a1
light: increase max sky distance to 1M
2019-04-20 12:27:27 -06:00
Eric Wasylishen
b343b9504a
qbsp, light: support _minlight_exclude on func_group, detail, etc.
2019-04-05 21:14:39 -06:00
Eric Wasylishen
707acbc9c5
light: fix lighting artifacts with _mirrorinside. Was missing a plane side
...
check, so the inside faces were incorrectly considered as neighbours
for distributing sample points onto.
Fixes #236
2019-03-25 20:24:39 -06:00
Eric Wasylishen
fd8b205dd2
light: fix fix_coord bug (for sampling fence textures) and
...
rename clamp_texcoord. Thanks to mxd for spotting the bug.
Fixes #260
2019-03-24 23:43:47 -06:00
Eric Wasylishen
cf4a491de8
light: fix black faces with sunlight pointing straight down
...
The angle < 0 check was too aggressive because the sun vector
didn't end up being exactly Z=-1, it had a bit of X component.
2019-03-10 18:27:22 -06:00
Eric Wasylishen
2df839cfc2
light: Add "_bounce" "-1" to disable bouncing for a func_detail/etc.
2019-01-22 00:02:46 -07:00
Eric Wasylishen
fa06716545
common: make VecStrf/VecStr threadsafe
2018-07-24 00:18:43 -06:00
Eric Wasylishen
c6386c8ec0
light: fix format string warnings
2018-07-23 23:12:03 -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
520ad485a4
Merge branch 'master' of https://github.com/ericwa/ericw-tools into q2-surfacelights
2018-05-08 15:50:45 +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
MaxED
00e60f923e
Q2 doesn't need .lit files ( #211 )
...
* Ignore embree
* Don't ignore embree...
* Q2 doesn't need .lit files.
Also fixed a typo.
2018-04-14 15:43:46 -07:00
Eric Wasylishen
f663792307
light: fix surface lights crash
2018-04-05 22:32:22 -06:00
Eric Wasylishen
339c1d0219
light: add area weighting to phong calculation
2018-01-31 22:52:30 -07:00
Eric Wasylishen
cae501972e
light: _phong_angle_concave support
2018-01-30 01:48:25 -07:00
Eric Wasylishen
6b14e166b8
light: make GLM_InterpolateNormal return failure on degenerate input
2018-01-28 02:19:09 -07:00
Eric Wasylishen
c3183429fb
light: fix for inalid_texture_axes.map
2018-01-15 20:33:52 -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
ebb508c7db
light: remove transparent lightmaps spam
2017-12-28 12:50:32 -07:00
Eric Wasylishen
3675805f54
light: add some disabled code
2017-12-11 00:40:41 -07:00
Eric Wasylishen
91abc7362d
light: add flood-filling to fix black seams in detailwall.map when no -extra/-extra4 used
2017-12-11 00:39:04 -07:00
Eric Wasylishen
701589ffe9
light: rewrite -highlightseams code
2017-12-11 00:30:11 -07:00
Eric Wasylishen
d31d3621bc
light: add MakePlane function
2017-12-10 21:28:35 -07:00
Eric Wasylishen
6c529fb0c3
light: disable bad test
2017-12-10 17:59:39 -07:00
Eric Wasylishen
fb18881a5b
light: fix color->greyscale conversion to be compatible with MarkV
...
Unfortunately this means .bsp's released with the previous code
will look different in MarkV.
2017-12-10 17:27:52 -07:00
Eric Wasylishen
33bc1ee05e
light: wip work on CalcPointNormal
2017-12-06 23:38:59 -07:00
Eric Wasylishen
4c86676b6f
light: NeighbouringFaces_new: make sure returned edges are orderer right
2017-12-06 00:39:14 -07:00
Eric Wasylishen
71d9f8ce8a
light: move NeighbouringFaces_new to phong.cc
2017-12-06 00:23:21 -07:00
Eric Wasylishen
69879b4104
light: add -highlightseams flag
2017-12-05 15:09:34 -07:00
Eric Wasylishen
cf9344f684
light: try to make -debugneighbours more useful
2017-12-05 00:34:32 -07:00
Eric Wasylishen
b8b17123d1
light: don't set up bounce lights in debug modes
2017-12-04 23:37:43 -07:00
Eric Wasylishen
d9f112a97f
light: add -phongdebug_obj flag
2017-11-25 23:12:23 -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
92bacbe7e1
light: FacesOverlappingEdge: return the edge that overlaps
2017-11-24 14:22:54 -07:00
Eric Wasylishen
8ce7a682b1
light: add -debugneighbours
2017-11-23 23:45:15 -07:00
Eric Wasylishen
7170aac1c3
light: FacesOverlappingEdge
2017-11-23 23:45:05 -07:00
Eric Wasylishen
88ee157b97
mathlib: add LinesOverlap function
2017-11-23 23:45:00 -07:00
Eric Wasylishen
501fb9ee40
light: add FacesUsingVert
2017-11-19 23:47:29 -07:00
Eric Wasylishen
b85d627c8f
change branding to ericw-tools
2017-10-19 16:35:37 -06:00
Eric Wasylishen
41527a1c39
light: don't discard near-black lightmaps in q2
2017-10-03 18:16:28 -06:00
Eric Wasylishen
2dc22b7088
common: add loadversion to mbsp_t
2017-10-03 14:17:42 -06:00
Eric Wasylishen
71d675ce09
light: factor out TEX_SPECIAL tests to Face_IsLightmapped
2017-10-03 14:10:57 -06:00
Eric Wasylishen
dff71edfe9
light: very early q2 support. half of the faces seem to be saved without lightmaps for some reason
2017-10-03 00:33:14 -06:00
Eric Wasylishen
8813d272cb
common, light, vis: change from bsp2_t to mbsp_t
2017-10-01 22:32:20 -06:00
Eric Wasylishen
f7635162c9
common: bspfile refactoring
2017-10-01 20:51:16 -06:00
Eric Wasylishen
41b85db84d
light: add comment about last commit.
2017-09-30 21:43:00 -06:00
Eric Wasylishen
0a8a25b95c
Revert "light: for curved surfaces, don't reject hits when the dot product of the surface point normal and surface-point-to-light vector is < 0, since "anglescale" will typically boost the angle factor to 0.5"
...
This reverts commit 26c5f65f4e .
2017-09-30 20:07:27 -06:00
Eric Wasylishen
993e8fb590
light: don't mark sample points inside semi-transparent shadow casters as occluded.
...
fixes #178
2017-09-23 20:31:57 -06:00
Eric Wasylishen
7252ba7841
light: hack -soft to give better results on https://github.com/ericwa/tyrutils-ericw/issues/171
2017-09-16 17:47:40 -06:00
Eric Wasylishen
26c5f65f4e
light: for curved surfaces, don't reject hits when the dot product of the surface point normal and surface-point-to-light vector is < 0, since "anglescale" will typically boost the angle factor to 0.5
...
fixes https://github.com/ericwa/tyrutils-ericw/issues/172
2017-09-16 17:10:48 -06:00
MaxED
d86913aaaf
light: fixed "_sun" light direction was calculated incorrectly when using a light without a target and mangle
2017-08-27 14:20:43 -06:00
MaxED
15871d2531
light: add _spotlightautofalloff
2017-08-27 14:20:03 -06:00
MaxED
604aa92e6f
light: remove dead code
2017-08-27 14:08:18 -06:00
MaxED
fe1e040cd1
Added "_falloff" light property. Allows to set light falloff in map units.
2017-08-23 15:00:32 -06:00
Eric Wasylishen
1d12d6ab4e
Support multiple suns with "_sun" "1" entities.
...
Drop support for overriding properties of these entities with worldspawn keys.
2017-08-23 13:37:59 -06:00
Eric Wasylishen
e5ac4da8a2
Convert indentation to spaces
2017-08-23 12:43:29 -06:00
MaxED
97ab6fcdab
Added arghrad-style sun setup using light entity.
2017-08-23 14:18:10 +03:00
Eric Wasylishen
c8ac9d2670
light: print position of degenerate faces during phong shading
2017-07-30 12:01:00 -06:00
Eric Wasylishen
c0b88b7e99
light: fixes for degenerate faces
2017-07-05 20:43:47 -06:00
Eric Wasylishen
c5370b16eb
light: update -help text
2017-06-27 19:31:19 -06:00
Eric Wasylishen
6f07303504
light: implement _shadowworldonly, fix _shadowself which was broken
2017-06-27 14:48:27 -06:00
Eric Wasylishen
fef1142808
light: add shadowworldonlylist
2017-06-27 13:13:32 -06:00
Eric Wasylishen
78ed70e2a5
light: modelinfo_t: take bsp param
2017-06-27 12:59:17 -06:00
Eric Wasylishen
4dcfc12f50
light: refactor _shadowself handling
2017-06-26 17:42:50 -06:00
Eric Wasylishen
563307445d
light: fix logic for switching lightmaps for switchable shadows
2017-06-26 14:20:15 -06:00
Eric Wasylishen
6e707130be
light: rename dynamic shadow stuff to switchshadstyle" for QC,
...
and "_switchableshadow" for the mapper.
2017-06-26 13:41:24 -06:00
Eric Wasylishen
b71f769c0a
light: experimental support for switchable bmodel shadows:
...
Current specs/limitations:
- only supported for sunlight and regular lights
- enabled with "_dynamicshadow" "1"
- writes the lightstyle to a "dynshadowstyle" entity key, hardcoded
- only handles one dynamic occluder for a given lightmap sample
- styled lights passing through a dynamic occluder turn non-styled
2017-06-25 20:06:46 -06:00
Eric Wasylishen
ce8ad6c384
light: handle iffy faces
2017-06-15 13:43:42 -06:00
Eric Wasylishen
2c0e58e628
mathlib: add test for FractionOfLine with degenerate line
2017-06-15 03:30:48 -06:00
Eric Wasylishen
42af888f3d
testlight: add failing test for ClosestPointOnLineSegment_Degenerate
2017-06-15 03:30:35 -06:00
Eric Wasylishen
3fc72e37d1
build: fix path for embree .dylibs/.so's
2017-06-10 22:00:49 -06:00
Eric Wasylishen
ea099775ef
qbsp, light: allow _shadow -1 to disable shadows from func_detail
2017-06-05 14:01:12 -06:00
Eric Wasylishen
197697ca73
light: fix black rotators
2017-06-05 14:00:50 -06:00
Eric Wasylishen
66bc8209eb
light: loosen point off plane assertion
2017-06-05 14:00:16 -06:00
Eric Wasylishen
b096019237
build: update mac and linux for embree 2.15.0
2017-04-28 15:26:40 -06:00
Eric Wasylishen
f0935f1f93
build: fix light CMakeLists.txt
2017-04-28 14:07:36 -07: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
b1f86d7ac1
common: implement buildMeshFromBSP
2017-04-24 02:01:16 -06:00
Eric Wasylishen
5eb4fd8790
common: make Face_Plane_E return a plane3f
2017-04-24 01:54:25 -06:00
Eric Wasylishen
0a64905df8
common: fix msvc build errors
2017-04-24 00:34:37 -06:00
Eric Wasylishen
68b084a6c3
replace glm with qvec
2017-04-24 00:26:49 -06:00
Eric Wasylishen
122b5ff51c
common: qmat: use NaN to indicate no inverse
2017-04-24 00:19:47 -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
881f12da52
common: add test for RotateFromUpToSurfaceNormal
2017-04-23 19:28:05 -06:00
Eric Wasylishen
4da864707c
light: remove use of glm::quaternion
2017-04-23 17:58:24 -06:00
Eric Wasylishen
eeb00bf74c
common: tidy qmat
2017-04-23 17:41:19 -06:00
Eric Wasylishen
efd48b48f5
common: add test for matrix inverse
2017-04-23 16:08:58 -06:00
Eric Wasylishen
8a4d1ff218
common: add 4x4 (from mesa) and 2x2 matrix inverse
2017-04-23 15:58:51 -06:00
Eric Wasylishen
0358bc07b8
common: mesh_t: first draft of tjunc fixing
2017-04-23 02:06:20 -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
b8f5a4f8e1
common: change mesh_t to use qvec3f
2017-04-22 20:39:50 -06:00
Eric Wasylishen
4996796944
light: reduce size of mathlib.octree_basic perf test
2017-04-22 20:36:03 -06:00
Eric Wasylishen
28081f50c6
common: make float/double versions of aabb3
2017-04-22 15:11:41 -06:00
Eric Wasylishen
ee7181521d
fix build
2017-04-22 13:54:12 -06:00
Eric Wasylishen
c1189abccd
common: split up new octree/mesh/aabb/qvec stuff
2017-04-22 13:29:32 -06:00
Eric Wasylishen
60418ce9a7
light: add maximum switchable lights to log message
2017-04-22 11:53:55 -06:00
Eric Wasylishen
f4c9b6c1a7
mathlib: expand qvec constructors
2017-04-20 12:32:37 -06:00
Eric Wasylishen
814e1675c9
test_light.cc: add missing include
2017-04-19 19:59:20 -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
a0a7021707
light: refactor position_t from tuple to class
2017-03-29 16:09:49 -06:00
Eric Wasylishen
10386581a6
light: make bounce of styled lights opt in with "_bouncestyled" worldspawn key
2017-03-27 16:44:04 -06:00
Eric Wasylishen
f957cba775
light: experimental bounce version using final gather
2017-03-21 21:01:09 -06:00
Eric Wasylishen
b911c70372
light: do bounce after phong
2017-03-19 14:20:47 -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
15dd49e093
light: fix last commit
2017-03-18 17:04:22 -06:00
Eric Wasylishen
9c82068160
light: phong: guard against accessing phong caches before they are built
2017-03-18 16:43:22 -06:00
Eric Wasylishen
880ad3b381
bpsutil, common, light, vis: bounds check bsp->dfaces access
2017-03-18 16:31:52 -06:00
Eric Wasylishen
29884e2b4a
bsputils: add bounds checking to Face_GetNum
2017-03-18 16:17:01 -06:00
Eric Wasylishen
8a83e3d351
light: BounceLightsForFaceNum(): return indices so we have 1 main copy of the bounce lights
2017-03-15 13:22:43 -06:00
Eric Wasylishen
c2c3e915e6
light: fix leak of lightsurf->realfacenums
2017-03-15 13:22:35 -06:00
Eric Wasylishen
18b75ec904
light: rewrite -bouncelightsdebug to handle patches smaller than a face
2017-03-15 10:59:40 -06:00
Eric Wasylishen
33fbe56e12
light: save poly edge planes for bouncelights
2017-03-15 10:59:31 -06:00
Eric Wasylishen
1d66039b2c
light: save poly for bouncelights
2017-03-15 10:59:25 -06:00
Eric Wasylishen
154158ddba
light: BounceLightsForFaceNum: avoid an unnecessary std::vector copy
2017-03-15 10:59:16 -06:00
Eric Wasylishen
b8f015d452
light: Texture_AvgColor: return glm vector
2017-03-12 15:56:46 -06:00
Eric Wasylishen
686696c362
light: Palette_GetColor: return glm vector
2017-03-12 15:41:52 -06:00
Eric Wasylishen
102bdc49f0
light: drop IntersectSingleModel api
2017-03-12 15:06:07 -06:00
Eric Wasylishen
0eb6864744
mathlib: add GLM_PolyRandomPoint
2017-03-12 12:58:36 -06:00
Eric Wasylishen
63e8f42c87
light: ray stream api: allow getting hit face
2017-03-07 13:37:52 -07:00
Eric Wasylishen
553f02d582
light: restore performance of bounce lighting
2017-03-06 22:50:20 -07:00
Eric Wasylishen
8e24cc764d
Revert "build: force a test failure"
...
This reverts commit f45a1a715d .
2017-03-06 14:01:56 -08:00
Eric Wasylishen
e314a3547f
light: vs2013 doesn't support constexpr
2017-03-06 13:54:47 -08:00
Eric Wasylishen
f45a1a715d
build: force a test failure
2017-03-06 13:48:48 -07:00
Eric Wasylishen
48a6314dfb
light: bounce styled lights
2017-03-05 20:05:34 -07:00
Eric Wasylishen
bc5d293072
light: try moving rpath setting in CMakeLists.txt
2017-03-05 13:21:29 -07:00
Eric Wasylishen
461afbc15d
light: remove ltface2.cc/hh
2017-03-01 13:20:09 -07:00
Eric Wasylishen
b163f766bb
light: drop unneeded light2.cc/hh
2017-02-27 19:10:55 -07:00
Eric Wasylishen
34947ced9c
light: delete RotationAboutLineSegment
2017-02-27 19:06:28 -07:00
Eric Wasylishen
69d5669773
light: delete some dead code
2017-02-27 17:43:56 -07:00
Eric Wasylishen
d513f43540
light: remove more tuple initializer lists
2017-02-27 12:40:03 -07:00
Eric Wasylishen
1c80f8c8d8
light: don't use initializer lists to construct tuples (for gcc)
2017-02-27 12:35:05 -07:00
Eric Wasylishen
ea382c50f2
light: don't use constexpr (for vs2013)
2017-02-27 12:33:03 -07:00
Eric Wasylishen
97a00f0f41
light: avoid recomputing things in CalcPointNormal
2017-02-26 22:58:08 -07:00
Eric Wasylishen
3d69845b71
light: rewrite Face_EdgeIndexSmoothed to use faceToEdgeMap, and also return non-phong shaded faces on the same plane
2017-02-26 00:43:27 -07:00
Eric Wasylishen
410bec9d62
light: wip: make CalcPointNormal also position the point
2017-02-26 00:28:23 -07:00
Eric Wasylishen
6c946038ee
light: move edgeToFaceMap_t stuff to phong.hh/cc
2017-02-25 14:44:59 -07:00
Eric Wasylishen
abf0c13b2d
light: cleaning CalcPointNormal
2017-02-25 13:31:56 -07:00
Eric Wasylishen
22b5684c23
light: save the actual face number of each sample point
2017-02-24 21:05:59 -07:00
Eric Wasylishen
a183be75d7
light: minor tidying of CalcPoints ifdef
2017-02-24 14:11:47 -07:00
Eric Wasylishen
278c5f5b2b
light: LightFace_OccludedDebug: clear occluded flag in this debug mode
2017-02-24 00:24:29 -07:00
Eric Wasylishen
29c7f79a0b
light: misc stuff
2017-02-23 20:53:10 -07:00
Eric Wasylishen
d88581e2da
light: add GLM_ProjectPointOntoPlane
2017-02-22 01:40:58 -07:00
Eric Wasylishen
64e8090326
light: contributing faces: don't contribute if angle btn faces is 90 degrees or more
2017-02-22 01:40:53 -07:00
Eric Wasylishen
cafadddb62
light: expose faceextents_t in header
2017-02-21 22:59:40 -07:00
Eric Wasylishen
64dba663e0
light: faceextents_t: add another conversion
2017-02-21 21:19:15 -07:00
Eric Wasylishen
8ab0ef9687
mathlib: redo bilinear interpolation
2017-02-21 21:19:07 -07:00
Eric Wasylishen
b0662de90f
light: add some stuff to faceextents_t
2017-02-21 21:18:27 -07:00
Eric Wasylishen
8067e0fa45
mathlib: add PointsAlongLine
2017-02-21 21:18:16 -07:00
Eric Wasylishen
b31ae5d243
light: ltface.cc: use glm namespace
2017-02-20 14:39:56 -07:00
Eric Wasylishen
6c9f9f9727
light: fix minlight handling
2017-02-20 14:37:46 -07:00
Eric Wasylishen
c17c33a71c
light: rewrite blur
2017-02-20 14:37:41 -07:00
Eric Wasylishen
7c0e8f9b24
light: fix -extra4 downsampling to use occlusion values
2017-02-20 14:37:36 -07:00
Eric Wasylishen
418d83cbeb
light: skip raytracing occluded points
2017-02-20 14:36:50 -07:00
Eric Wasylishen
f890d739d3
light: improving faceextents_t
2017-02-20 14:32:37 -07:00
Eric Wasylishen
d40c6b9912
mathlib: add bilinear interpolation
2017-02-20 14:32:31 -07:00
Eric Wasylishen
21fa5c5949
Revert "light: rewrite -debugface picking code"
...
This reverts commit 20c92fc676 .
2017-02-16 15:55:13 -07:00
Eric Wasylishen
ea9c456367
Revert "light: Face_Pick: make more lenient"
...
This reverts commit 5292728fe3 .
2017-02-16 15:55:01 -07:00
Eric Wasylishen
d811d33d22
light: add slightly concave poly test
2017-02-16 15:47:45 -07:00
Eric Wasylishen
7294f06ccc
light: disable EdgePlanesOfNonConvexPoly test for now
2017-02-16 15:47:26 -07:00
Eric Wasylishen
6ea56b987a
light: fix mangle_from_vec
2017-02-15 00:14:51 -07:00
Eric Wasylishen
365c143039
light: use mangle_from_vec in CalcPoints_Debug to dump point normal
2017-02-14 23:52:39 -07:00
Eric Wasylishen
77baa2b90b
light: fix mangle_from_vec test epsilon
2017-02-14 23:50:05 -07:00
Eric Wasylishen
5292728fe3
light: Face_Pick: make more lenient
2017-02-14 23:46:10 -07:00
Eric Wasylishen
6f66473836
light: add mangle_from_vec
2017-02-14 23:45:38 -07:00
Eric Wasylishen
e8e5df0f6e
light: SetupContributingFaces_R: handle a type of invalid face that showed up in ad_swampy.bsp
2017-02-14 20:52:27 -07:00
Eric Wasylishen
bef9dd63d2
common: GLM_MakeInwardFacingEdgePlanes: handle non-convex poly
2017-02-14 20:51:36 -07:00
Eric Wasylishen
05e144a5ca
light: MakeEdgeToFaceMap: handle invalid faces with repeating vertices
2017-02-14 20:51:31 -07:00
Eric Wasylishen
20c92fc676
light: rewrite -debugface picking code
2017-02-13 13:33:11 -07:00
Eric Wasylishen
2a17b4bccf
build fix
2017-02-12 11:54:52 -07:00
Eric Wasylishen
3a20d5410b
common: add shrink and clip poly funcs
2017-02-12 00:20:38 -07:00
Eric Wasylishen
7300aacdff
light: Add -debugoccluded
2017-02-11 22:22:26 -07:00
Eric Wasylishen
3c86c3d707
light: fix SetupContributingFaces_R not working on non-phong shaded faces that share a plane
2017-02-11 16:00:10 -07:00
Eric Wasylishen
1957fb1489
light: expose WorldToTexCoord_HighPrecision() in header
2017-02-11 15:45:50 -07:00
Eric Wasylishen
69ebb0c7a9
light: tidy WorldToTexSpace
2017-02-11 15:45:45 -07:00