Commit Graph

364 Commits

Author SHA1 Message Date
Eric Wasylishen 68b084a6c3 replace glm with qvec 2017-04-24 00:26:49 -06:00
Eric Wasylishen b911c70372 light: do bounce after phong 2017-03-19 14:20:47 -06:00
Eric Wasylishen 880ad3b381 bpsutil, common, light, vis: bounds check bsp->dfaces access 2017-03-18 16:31:52 -06: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 69d5669773 light: delete some dead code 2017-02-27 17:43:56 -07:00
Eric Wasylishen 6c946038ee light: move edgeToFaceMap_t stuff to phong.hh/cc 2017-02-25 14:44:59 -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 5292728fe3 light: Face_Pick: make more lenient 2017-02-14 23:46:10 -07:00
Eric Wasylishen 20c92fc676 light: rewrite -debugface picking code 2017-02-13 13:33:11 -07:00
Eric Wasylishen 7300aacdff light: Add -debugoccluded 2017-02-11 22:22:26 -07:00
Eric Wasylishen 5fe4f23371 light: add a debug mode for showing contributing faces 2017-02-11 15:45:30 -07:00
Eric Wasylishen 71a3dd769a light: clean up LightFace() function 2017-02-10 15:52:12 -07:00
Eric Wasylishen d30c970d8b light: always call MakeEdgeToFaceMap 2017-02-10 15:52:12 -07:00
Eric Wasylishen bd0556cf22 light: switch to new Face_Centroid 2017-02-09 00:17:22 -07:00
Eric Wasylishen 70644907e0 Revert "light: move Lightmap_Soften into WriteLightmaps"
This reverts commit bc2d734e9a.
2017-02-08 17:10:26 -07:00
Eric Wasylishen bc2d734e9a light: move Lightmap_Soften into WriteLightmaps 2017-02-08 02:23:21 -07:00
Eric Wasylishen 1211fd86d1 light: move bounce to its own file 2017-02-07 00:51:05 -07:00
Eric Wasylishen c7756496cd light: move phong shading code to its own file 2017-02-07 00:06:29 -07:00
Eric Wasylishen f018b7324d light: refactor phong shading to use GLM 2017-02-06 22:50:56 -07:00
Eric Wasylishen 7fdb77188c light: work-in-progress stuff 2017-02-06 21:57:49 -07:00
Eric Wasylishen cc71ad024f qbsp: origin brush support
light: allow model offset on any brush entity with "origin" key set, not just ones with a "rotate_*" classname
2017-01-24 21:39:03 -07:00
Eric Wasylishen 75193bbe05 light: fix fscanf format warning
warning: format ‘%llu’ expects argument of type ‘long long unsigned int*’, but argument 3 has type ‘uint64_t* {aka long unsigned int*}’ [-Wformat=]
         int cnt = fscanf(texinfofile, "%llu\n", &extended_texinfo_flags[i]);
2016-11-14 11:48:36 -07:00
Eric Wasylishen 91fcfe5b9a light: use glass texture colors to tint rays 2016-11-03 02:26:53 -06:00
Eric Wasylishen 731e46d005 light: fix extended texinfo array type 2016-11-02 17:29:18 -06:00
Eric Wasylishen fbeba25bd1 light: read _mincolor from .texinfo file 2016-11-02 17:23:25 -06:00
Eric Wasylishen a6468984bf all: finish c++ification 2016-10-17 19:52:17 -06:00
Eric Wasylishen ec37b52807 light: disable "denormals are zero", causing build issues on gcc4.8/linux 2016-09-23 00:43:28 -06:00
Eric Wasylishen 46a56df19f light: add -bouncelightsdebug switch to render bounce lights 2016-09-20 00:04:02 -06:00
Eric Wasylishen 722f753d8d light: remove some unused vis-testing stuff 2016-09-19 19:21:04 -06:00
Eric Wasylishen 05251d9e1a light: fix "options summary" log header 2016-09-19 14:46:16 -06:00
Eric Wasylishen 1045505670 light: avoid bouncing negative lights 2016-09-19 12:15:26 -06:00
Eric Wasylishen b4e30032a3 light: MakeBounceLightsThread: avoid zero-area or small patches, which were getting NaN colors 2016-09-19 12:11:41 -06:00
Eric Wasylishen 857b4402ad light: change assertions to Q_assert (so they are all enabled in release builds) 2016-09-18 15:41:56 -06:00
Eric Wasylishen 700e8d089f light: add -verbose option 2016-09-17 23:49:41 -06:00
Eric Wasylishen bcddaf10dd docs: update 2016-09-09 13:30:36 -06:00
Eric Wasylishen eaec325ab4 light: bounce: area-weight the patches when averaging them to get the light to emit for a face 2016-09-08 21:39:37 -06:00
Eric Wasylishen 18797f81c0 light: fix for -dirt not implying -minlight_dirt, -sunlight_dirt, -sunlight2_dirt 2016-09-08 15:21:18 -06:00
Eric Wasylishen 66184a3849 light: CalcualateVertexNormals: skip degenerate faces 2016-09-07 15:12:19 -06:00
Eric Wasylishen 5e9b62dc8b light: add "testlight" target 2016-08-15 21:18:14 -06:00
Eric Wasylishen a0f3881698 light: refactor global settings into a class 2016-08-12 18:49:32 -06:00
Eric Wasylishen 28b034a172 light: drop visdata support, no longer needed 2016-08-10 00:49:41 -06:00
Eric Wasylishen 677875a63e light: cull lights based on estimated visible AABB of each light 2016-08-09 18:16:32 -06:00
Eric Wasylishen 1d4de5c17d light: add more performance stats 2016-08-09 17:11:08 -06:00
Eric Wasylishen 7d5067bddd light: Add stats 2016-08-09 01:15:26 -06:00
Eric Wasylishen 486606eb88 light: rename GetSurfaceVertex to Face_VertexAtIndex 2016-08-07 22:57:45 -06:00
Eric Wasylishen 1a0fb22e40 light: move some helper functions to common/bsputils.{h,cc} 2016-08-07 22:55:44 -06:00
Eric Wasylishen 7029ed5713 light: clean headers 2016-08-04 16:32:04 -06:00
Eric Wasylishen 2a3b87bf1f light: rework bounce lighting for less memory use 2016-08-03 14:00:58 -06:00
Eric Wasylishen 9f0f2cdf83 light: add debug dump for lights 2016-08-01 21:38:14 -06:00
Eric Wasylishen 607706a684 light: fix dangling pointers when a light_t is copied 2016-08-01 21:38:03 -06:00
Eric Wasylishen b4e0a7a5fa light: GetLightValue: remove extra param 2016-07-31 18:53:41 -06:00
Eric Wasylishen fee5669dbf light: refactor checking if we need to write a litfile 2016-07-31 18:06:44 -06:00
Eric Wasylishen 225a155efd light: fix unwanted phong on everything 2016-07-29 19:48:28 -06:00
Eric Wasylishen d7bb75ae97 light: modelinfo: change to storing pointers in std::vector rather than modelinfo_t 2016-07-29 16:01:34 -06:00
Eric Wasylishen 6bb842cd47 light: refactor tracelist and selfshadowlist to be std::vector 2016-07-29 15:56:48 -06:00
Eric Wasylishen b669767fe0 light: add an assertion for model offsets 2016-07-29 15:51:26 -06:00
Eric Wasylishen a0d3a90df9 light: fix uninitialized model offset causing messed up lighting on submodels (!) 2016-07-29 13:34:42 -06:00
Eric Wasylishen c3de3eb99a light: -dumpface: also print model number 2016-07-29 12:28:15 -06:00
Eric Wasylishen 5b9405a93e light: move suns to a std::vector 2016-07-27 11:05:54 -06:00
Eric Wasylishen 2651c79307 light: fixes to settings system 2016-07-27 02:20:25 -06:00
Eric Wasylishen a68979a57b light: add -nolights option 2016-07-27 02:00:11 -06:00
Eric Wasylishen 6da4ab87ae light: reorganize settings 2016-07-27 00:49:34 -06:00
Eric Wasylishen 7757e834a3 light: clean up dirtmapping logic 2016-07-26 21:08:04 -06:00
Eric Wasylishen da64f27015 light: add lockable_bool_t 2016-07-26 20:50:32 -06:00
Eric Wasylishen fb1288a5c0 light: rename entity_t to light_t 2016-07-26 18:03:43 -06:00
Eric Wasylishen f729171a44 light: entities: clean out some dead code 2016-07-26 18:01:28 -06:00
Eric Wasylishen 9279c86fb5 light: fix -addmin switch (temporary hack) 2016-07-26 16:09:16 -06:00
Eric Wasylishen dc8525dfd2 light: entities: refactor EntDict_VectorForKey 2016-07-26 13:12:57 -06:00
Eric Wasylishen 02a2cee6a7 light: store lights in a vector (untested) 2016-07-26 02:13:58 -06:00
Eric Wasylishen 0501f07673 light: clean WorldValueForKey/SetWorldKeyValue 2016-07-24 16:56:40 -06:00
Eric Wasylishen ca507336ca light: use entdicts array for FIndModelInfo 2016-07-24 16:08:38 -06:00
Eric Wasylishen 203c32a613 light: misc fixes. lights not casting on world? 2016-07-24 12:55:07 -06:00
Eric Wasylishen 2c350b1f21 light: finish porting modelinfo reading to settings system 2016-07-24 00:31:58 -06:00
Eric Wasylishen 5566e1f85d light: convert modelinfo_t to use settings system 2016-07-24 00:26:42 -06:00
Eric Wasylishen cc2bb5158a light: add class for a dictionary of settings 2016-07-23 22:54:32 -06:00
Eric Wasylishen 0cd0778860 light: fix typo, min_color should have been mincolor 2016-07-23 22:54:17 -06:00
Eric Wasylishen 2e9c58fb46 light: move command-line parsing to use settings system 2016-07-23 21:43:54 -06:00
Eric Wasylishen df62b9fa16 light: handle worldspawn keys through new settings system 2016-07-23 20:26:09 -06:00
Eric Wasylishen 8b8cc4a37a light: add transformers for color and mangle 2016-07-22 14:02:43 -06:00
Eric Wasylishen f7d3bfbeb3 Merge branch 'stable' 2016-07-20 19:12:23 -06:00
Eric Wasylishen 4c59a00d2b light: add -debugvert command 2016-07-20 19:05:55 -06:00
Eric Wasylishen 26fbffa2bf light: add GetSurfaceVertex and GetSurfaceVertexPoint to header 2016-07-20 16:15:42 -06:00
Eric Wasylishen 5bf59a469d light: option parser: allow negative numbers as option args 2016-07-20 16:04:26 -06:00
Eric Wasylishen d86e6acec6 light: add SetString 2016-07-16 13:11:59 -06:00
Eric Wasylishen ee50412f65 light: add FindSetting function 2016-07-15 10:44:35 -06:00
Eric Wasylishen 60d96df31c light: set min/max values for some settings 2016-07-14 00:02:44 -06:00
Eric Wasylishen 08a6733204 light: refactor settings system 2016-07-13 22:55:55 -06:00
Eric Wasylishen d467888d89 light: register settings in a map 2016-07-13 22:11:21 -06:00
Eric Wasylishen cd013405e7 light: convert more settings to lockable_*_t 2016-07-13 21:51:04 -06:00
Eric Wasylishen 42657f9607 light: record setting names 2016-07-13 21:33:38 -06:00
Eric Wasylishen e012a2c93e light: finish c++ifying 2016-07-06 13:14:06 -06:00
Eric Wasylishen 1c8e7e6585 light: remove use of c99 designated initializers since they're not in c++11 2016-07-06 00:13:30 -06:00
Eric Wasylishen 34bc864616 light: print elapsed time to 3 decimal places 2016-07-04 21:06:34 -06:00
Eric Wasylishen ec6352a5fe light: option parser: allow negative numbers as option args 2016-06-30 14:14:59 -06:00
Eric Wasylishen 5054ced22d light: fix embree support 2016-06-17 21:21:30 -06:00
Eric Wasylishen 7c3aa545bb light: sunlight refactoring 2016-06-09 00:47:59 -06:00
Eric Wasylishen aa998d7b7a light: support sunlight options on command-line 2016-06-09 00:31:52 -06:00
Eric Wasylishen 4e5a7a79b1 light: refactor and make option parsing safer 2016-06-08 23:39:38 -06:00
Eric Wasylishen f29c8fa0f6 light: clamp bouncecolorscale to [0,1] 2016-06-08 22:57:52 -06:00
Eric Wasylishen d1c4470fc1 light: add "-novis" to help listing 2016-06-04 22:22:22 -06:00
Eric Wasylishen ecea00cec2 light: tweaks to usage text 2016-06-01 17:38:30 -06:00
Eric Wasylishen 26fd4b6d28 light: tidy log message 2016-06-01 16:34:35 -06:00
Eric Wasylishen 72e07f82fb light: print message when visdata in use 2016-06-01 16:04:18 -06:00
Eric Wasylishen 45daf59df7 light: improve usage message. recognize -help flag. show usage when an unknown command given. 2016-06-01 13:55:41 -06:00
Eric Wasylishen 3e8d9b7dfd light: warn about gate > 1 2016-05-31 18:23:37 -06:00
Eric Wasylishen 826f44d8cf light: disable "interior verts" spam 2016-05-31 18:19:35 -06:00
Eric Wasylishen 280aadfbd8 light: add -debugface option for debugging CalcPoints 2016-05-30 00:15:07 -06:00
Eric Wasylishen a63a96e877 light: update usage text 2016-05-27 20:45:44 -06:00
Eric Wasylishen 21a4fd5287 light: allow disabling bounce on command line 2016-05-27 18:47:12 -06:00
Eric Wasylishen bb19618763 light: add -phong 0 flag to force phong shading to be disabled 2016-05-27 18:18:50 -06:00
Eric Wasylishen a4445bdd77 light: allow force-disabling dirtmapping at the command line 2016-05-27 17:52:56 -06:00
Eric Wasylishen af6b4aa375 light: remove useless -no_parse_escape_sequences flag 2016-05-27 15:51:33 -06:00
Eric Wasylishen b17e345087 light: remove broken -fence feature 2016-05-27 15:50:52 -06:00
Eric Wasylishen d524b4c3ad light: fix parsing of command-line argument to -soft and -anglesense, when those are the last params 2016-05-27 15:43:24 -06:00
Eric Wasylishen 30673903ed light: refactor dirt*SetOnCmdline variables 2016-05-27 15:22:32 -06:00
Eric Wasylishen ca0f0448fe light: only allow one debug mode at a time 2016-05-27 12:25:51 -06:00
Eric Wasylishen e290d844bf light: only shadow-casting faces generate bounce lights 2016-05-20 13:34:30 -06:00
Eric Wasylishen 11ea23f6f2 light: don't delete litfile for -onlyents compile 2016-05-20 12:20:39 -06:00
Eric Wasylishen 55df37941c light: add -bouncecolorscale flag 2016-05-20 12:00:57 -06:00
Eric Wasylishen 45010089f3 light, common: move WindingFromFace to bspfile.c/h 2016-05-19 15:07:31 -06:00
Eric Wasylishen fff12697e5 light: move DicePatch to polylib.c 2016-05-19 15:03:21 -06:00
Eric Wasylishen a0f636a69a light: bounce: refactor to do in a second lighting pass 2016-05-19 02:53:18 -06:00
Eric Wasylishen a5356c161c light: bounce: scale bounced light by texture color 2016-05-14 20:51:21 -06:00
Eric Wasylishen 3fb8b7d1e5 light: delete -lightturb and related flags for generating lightmaps for TEX_SPECIAL textures.
mankrip's lit water implementation relies on qbsp splitting water, so this code is not needed.
2016-04-29 23:23:28 -06:00
Eric Wasylishen 6ba2d99782 light: bounce: add some debug code 2016-04-29 22:52:33 -06:00
Eric Wasylishen bd68abad32 light: add LightWorld log header 2016-04-29 22:51:32 -06:00
Eric Wasylishen 99f6451741 light: bounce: don't generate bounce lights for "skip" texture 2016-04-29 22:43:42 -06:00
Eric Wasylishen 72c47c1b56 light: bounce: refactor a bit 2016-04-29 18:11:14 -06:00
Eric Wasylishen 9271a405d1 light: bounce: fix scaling of sunlight brightness 2016-04-29 13:06:40 -06:00
Eric Wasylishen ebf04ceb24 light: bounce: multithread MakeBounceLights 2016-04-29 11:40:10 -06:00
Eric Wasylishen 2bca34265c light: use vis acceleration for bounce lights 2016-04-29 11:27:02 -06:00
Eric Wasylishen 6459e53316 light: bounce: force a "gate" like cutoff for bounce lights 2016-04-28 23:18:49 -06:00
Eric Wasylishen 430c4b39b7 light: bounce: only scale by sending surface normal, not receiving.. seems to look better 2016-04-27 21:16:48 -06:00
Eric Wasylishen 713b92dcb5 light: preliminary bounce implementation 2016-04-27 19:19:29 -06:00
Eric Wasylishen 007696a734 light: fix face normal smoothing condition 2016-04-27 16:44:40 -06:00
Eric Wasylishen d426c8d9da light: some setup for bounced lighting 2016-04-26 15:14:22 -06:00
Eric Wasylishen 11d7c4c44c light: fix build on travis 2016-04-26 01:13:42 -06:00
Eric Wasylishen c58528499d light: when interpolating a normal that lies outside of a face, recursively look it up on adjacent faces 2016-04-26 00:29:50 -06:00
Eric Wasylishen 8c28413a31 light: obj export: only export model 0 2016-04-26 00:22:26 -06:00
Eric Wasylishen 5ac18e5c6f light: index some PVS info at startup 2016-04-22 20:11:59 -06:00
Eric Wasylishen 1ea4d52eab light: add -novis flag 2016-04-20 23:57:04 -06:00
Eric Wasylishen 03df93851b light: phong shading: handle some sources of nan's 2016-04-19 19:33:49 -06:00
Eric Wasylishen 2a4168f35c light: add _minlight_exclude bmodel key 2016-04-17 22:51:14 -06:00
Eric Wasylishen 32b48a443b light: track interior verts for normal interpolation (not used currently) 2016-04-14 15:13:01 -06:00
Eric Wasylishen c6d8aff03b light: guard against acos returning nan due to fp error in CalcualateVertexNormals 2016-04-11 01:49:02 -06:00
Eric Wasylishen ed6dfbaf76 light: disable obj exporter 2016-04-11 01:14:54 -06:00
Eric Wasylishen 8228bf979f light: obj exporter 2016-04-11 00:46:42 -06:00
Eric Wasylishen 986334a86b light: unify "_anglescale" worldspawn key and "-anglescale" command line option, previously they were different.
Fix "-anglescale" command line option which was broken.
Make sunlight2 use the global anglescale setting.
2016-04-10 18:25:15 -06:00
Eric Wasylishen 0a6708edb0 light: remove embree support 2016-04-10 14:43:37 -06:00
Eric Wasylishen c135ab6b2b light: error if bsp->nummodels == 0 2016-04-07 23:26:23 -06:00
Eric Wasylishen e6f58ece0c Revert "light: phong shading: also weight by face area. this avoids cubes with rounded edges turning completely into blobs"
This reverts commit bbc95a1364.
2016-04-07 22:20:24 -06:00
Eric Wasylishen ecfa3c3e12 light: enable -parse_escape_sequences by default 2016-04-07 21:47:26 -06:00
Eric Wasylishen 96a8dc8c3d light: disable "Failed to calculate normal for vertex" warning because it was not really an error and causing spam
qbsp T-Juncs generate lots of colinear vertices I think?
2016-04-07 21:16:54 -06:00
Eric Wasylishen a6a89db530 light: refactor tracelist to be a list of modelinfo_t instead of dmodel_t 2016-04-05 23:25:36 -06:00
Eric Wasylishen bbc95a1364 light: phong shading: also weight by face area. this avoids cubes with rounded edges turning completely into blobs 2016-04-05 15:00:12 -06:00
Eric Wasylishen 33ee7e35f7 light: delete .lit file before starting 2016-04-03 18:25:30 -06:00
Eric Wasylishen e11e9d5c1f light: embree support 2016-03-30 14:58:21 -06:00
Eric Wasylishen d2f1eb2b2b light: support _phong and _phong_angle on bmodels for compatibility with other qbsp's. 2016-03-05 22:51:17 -07:00
Eric Wasylishen 41972a376a qbsp, light: Strip texinfo flags other than TEX_SPECIAL.
Write extended ones to a "mapname.texinfo" file.
Support "_dirt" and "_minlight" flags on func_detail/group.
2016-03-05 00:26:54 -07:00
Eric Wasylishen 72d7ce4231 light: handle degenerate triangles when smoothing normals 2016-03-03 12:38:03 -07:00
Eric Wasylishen 492d94c1fe light: new phong shading keys, "_phong_angle" and "_phong".
"_phong" "1" is a shortcut for "_phong_angle" "89".
"_phong_angle" sets the max angle in degrees between faces that will get smoothed.
2016-03-02 20:00:05 -07:00
Eric Wasylishen f641e93ca2 light: convert light.c to light.cc 2016-03-02 17:07:02 -07:00