Commit Graph

380 Commits

Author SHA1 Message Date
Eric Wasylishen 07e050f484 light: restore -bounce flag with no arguments as a shorthand for -bounce 1 2024-01-13 18:35:18 -07:00
Eric Wasylishen 6351cc50e6 rename: vec_t -> double 2023-12-23 21:09:16 -07:00
Eric Wasylishen 3673162f63 fix build errors + test failures from double -> float changes 2023-12-07 23:06:52 -07:00
Jonathan 1eaf2170f8 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
# Conflicts:
#	light/trace_embree.cc
2023-12-07 14:13:36 -05:00
Jonathan 9ed4f3d042 bunch of double -> float
fix Q2 animated textures
2023-12-07 14:11:46 -05:00
Eric Wasylishen 22ad2f4141 light: cache list of lightsurfs that are actuall emissive
light.exe -visapprox none ad_sepulcher.bsp

45.5s -> 22.7s
2023-11-13 23:35:32 -07:00
Jonathan b83c4a6440 use fold expr instead of for statements in vec3
fix a bunch of clang warnings
2023-11-04 19:01:08 -04:00
Jonathan 0509c9a790 fix multiple bounce interaction with lightgrid 2023-09-16 11:55:10 -04:00
Jonathan 147be8f87a some optimizations in indirect lighting code
multiple bounce support
2023-09-16 00:41:05 -04:00
Jonathan 5619e2abef map file separation 2023-09-07 14:55:37 -04:00
Jonathan 7d881768fa Revert "Revert "reduce memory usage by only storing VPLs when we need to, and only once""
This reverts commit 2e0e23622b.

Disable rescale by default on sky faces.
Light is now in control of rescales' default value.
Multiply omni light faces by 0.5 to better match qrad3
Remove some asserts to increase perf
2023-09-04 02:51:20 -04:00
Eric Wasylishen b893e67309 light: add _light_twosided 1 key for forcing two-sided light receiving on opaque surfaces 2023-08-29 01:44:16 -06:00
Jonathan 8cb2b72237 restore default visapprox 2023-08-26 23:06:49 -04:00
Jonathan 2e0e23622b Revert "reduce memory usage by only storing VPLs when we need to, and only once"
This reverts commit fcf39b2ef8.

# Conflicts:
#	include/light/light.hh
#	include/light/surflight.hh
#	light/bounce.cc
#	light/light.cc
#	light/ltface.cc
#	light/surflight.cc
2023-08-26 23:03:25 -04:00
Eric Wasylishen 54d5838f29 docs: fill in some missing docs
- fix comments around new BSPX lumps
2023-08-13 22:38:31 -06:00
Eric Wasylishen 7691706bda build: only use <fmt/core.h>, other headers have a heavy compilation time impact 2023-07-02 17:08:14 -06:00
Eric Wasylishen 1c85bb882a light: minimize includes 2023-06-26 01:19:54 -06:00
Eric Wasylishen fbea58d679 code formatting pass 2023-06-25 18:29:48 -06:00
Eric Wasylishen 26dedb603f common: move numeric_cast to dedicated common/numeric_cast.hh 2023-06-25 17:50:17 -06:00
Jonathan caa7418375 async threading for map progress, etc. no cancelling yet 2023-06-19 15:38:16 -04:00
Jonathan 08db6e9bf9 remove fastbounce, add emissivequality
emissivequality affects both emissives
2023-06-19 09:54:25 -04:00
Jonathan 1fbe12767e decouple lightmapping state from emissive state
allow sky to skip lightmapping if lightgrid is enabled in Q2 mode again
2023-06-19 04:11:20 -04:00
Jonathan fcf39b2ef8 reduce memory usage by only storing VPLs when we need to, and only once
fix visapprox auto not actually being auto
2023-06-18 13:29:53 -04:00
Eric Wasylishen 1c6a76e1f8 light: autominlight extensions
- now apply per-luxel, not just to faces that are fully occluded
- add "_autominlight_target" key for specifying a target
  to take the light sample from
- add "_autominlight" key: 0 = force off, default = apply to occluded luxels, 1 = apply to all luxels

wip / subject to change!
2023-06-16 00:14:27 -06:00
Jonathan 0c8c10f553 post-process phase, so minlight doesn't affect emissives 2023-06-10 14:20:53 -04:00
Eric Wasylishen 9e1ead5f78 common: move load_textures() from light.cc into common/imglib.cc 2023-05-19 00:50:31 -06:00
Eric Wasylishen 290af832af style: rename dirt related member variables to match the actual names 2023-05-08 23:02:59 -06:00
Jonathan 1548f25daf allow individual brush chop control
allow passing _surflight_targetname to set targetnames for switchable lights on bmodels
2023-05-08 17:44:32 -04:00
Eric Wasylishen 056f736e60 light: add minlight_mottle as an alias for minlightMottle (in worldspawn) 2023-05-05 23:00:24 -06:00
Jonathan 39a54abfc6 add support for a region brush (code needs to be cleaned up a bit though)
allow _surflight_style on brush models
2023-04-28 13:31:50 -04:00
Jonathan 6035290c70 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
# Conflicts:
#	include/common/imglib.hh
#	light/entities.cc
#	light/light.cc
#	light/surflight.cc
2023-04-24 02:19:04 -04:00
Jonathan dddc48e98b simplify `needs_write` for surfflags
add `_surflight_color` key; allows overriding surface light color on an entity basis
load the .wal from wal_json and use the values as a base, if they exist
allow `_surflight_minlight_scale` to be specified on entities
2023-04-24 02:16:39 -04:00
Eric Wasylishen ed756bd602 common: add support for writing .rst documentation from settings 2023-04-16 14:55:43 -06:00
Eric Wasylishen e069d7b9b8 style: update settings api to follow current coding style 2023-04-16 11:55:38 -06:00
Jonathan 00bcead0fb Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-04-03 05:26:49 -04:00
Jonathan a0e98242a4 fix hintskip; when loading a hint brush, mark all other sides as hintskip 2023-04-03 05:26:41 -04:00
Eric Wasylishen a8d84ee149 light: add "minlight_mottle" as an alias for "minlightMottle" 2023-04-02 17:48:51 -06:00
Jonathan 5daaeee6fb allow `surflight_minlight_scale` to be specified per brush 2023-03-26 18:29:37 -04:00
Eric Wasylishen adb7ecce15 light: remove -lightgrid_force_cube, -lightgrid_force_pot 2023-03-04 14:43:04 -07:00
Eric Wasylishen 6c3fd1503f light: remove -lightgrid_format uniform, cluster 2023-03-04 14:41:59 -07:00
Eric Wasylishen b17633f746 cleanup: set PackConstructorInitializers: Never 2023-02-20 10:23:59 -07:00
Eric Wasylishen dd6e49c89f light: support _object_channel_mask on func_group 2023-02-20 00:07:08 -07:00
Eric Wasylishen eda6155844 cleanup: run ./clang-format-all.sh
clang-format version 15.0.7
2023-02-18 22:59:43 -07:00
Eric Wasylishen 1d38ff0ff3 light: add -lightgrid_force_pot (power of two) 2023-02-18 20:15:47 -07:00
Eric Wasylishen c590400c46 light: lightgrid: add -lightgrid_force_cube 2023-02-18 19:15:34 -07:00
Eric Wasylishen a9adaca52f light: lightgrid_format: change default to OCTREE 2023-02-18 19:14:55 -07:00
Eric Wasylishen 7d6ed20dc1 unused includes cleanup 2023-02-18 16:14:11 -07:00
Eric Wasylishen 641fb780ac light: allow customizing _world_units_per_luxel on func_group etc. 2023-02-17 00:07:43 -07:00
Eric Wasylishen 7b8e55f594 light: move lightgrid code to its own file 2023-02-12 14:10:02 -07:00
Eric Wasylishen 1c56b060b1 light: use bounding box of face for lightgrid bounds
tighter bounds than dmodel bounds
2023-02-12 13:00:30 -07:00