Commit Graph

823 Commits

Author SHA1 Message Date
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