Commit Graph

1301 Commits

Author SHA1 Message Date
Eric Wasylishen 7608a78b44 style: use std::min/std::max/std::clamp and remove using 2023-08-07 15:42:29 -06:00
Eric Wasylishen a2ea5d8217 style: remove all "using namespace polylib" 2023-08-07 15:33:09 -06:00
Eric Wasylishen f8886b6e60 style: remove all "using namespace std" 2023-08-07 15:28:50 -06:00
Eric Wasylishen db42b2116a use std::abs in remaining places that were using C abs() 2023-08-07 15:23:12 -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
Eric Wasylishen 5243fd8751 build: fix deprecation warnings 2023-06-25 16:02:03 -06:00
Jonathan caa7418375 async threading for map progress, etc. no cancelling yet 2023-06-19 15:38:16 -04:00
Jonathan 539c722666 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-06-19 09:54:31 -04:00
Jonathan 08db6e9bf9 remove fastbounce, add emissivequality
emissivequality affects both emissives
2023-06-19 09:54:25 -04:00
Eric Wasylishen 0a8aa6e95b
Merge pull request #362 from RandomErrorMessage/brushbsp
added SKIP_TBB_INSTALL and SKIP_EMBREE_INSTALL to cmake
2023-06-19 07:09:35 -06:00
Eric Wasylishen d514874d78 also skip install of embree license if SKIP_EMBREE_INSTALL is ued
clarify comment
2023-06-19 07:04:30 -06:00
Jonathan aeece2a730 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
# Conflicts:
#	light/ltface.cc
2023-06-19 04:12:11 -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
RandomErrorMessage 648981c9da added SKIP_TBB_INSTALL and SKIP_EMBREE_INSTALL to cmake 2023-06-18 23:57:04 -07:00
Eric Wasylishen 9a4f27a0de light: fix sky emitting light, disable test 2023-06-19 00:39:30 -06:00
Eric Wasylishen eae883b55c fix test failures 2023-06-18 23:24:36 -06:00
Jonathan 94357818f9 experiment with keeping sample data all together in memory, which might help caching. not certain. 2023-06-18 14:06:58 -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 b19c83e87f fix height mixup in sample texture 2023-06-12 01:59:14 -04:00
Jonathan 0c8c10f553 post-process phase, so minlight doesn't affect emissives 2023-06-10 14:20:53 -04:00
Eric Wasylishen 502a490e5b light: hack around surface lights getting a black spot when a luxel lines up with a surflight emission point 2023-06-06 22:29:51 -06:00
Eric Wasylishen 9c6f6c2589 common: change FError to throw an exception 2023-06-03 22:24:20 -06:00
Jonathan 1e91b21989 use timed file watching, so we only compile any given map once 2023-05-30 12:14:56 -04:00
Eric Wasylishen 0a5debd278 build: fix Linux packaging
- rename the tbb + tbbmalloc .so files from .so.X.Y to .so.X
- set rpath to be "$ORIGIN" so the .so files are found
2023-05-29 20:30:49 -06:00
Eric Wasylishen 17bea71bbe light: experiment with alt lightgrid formula
take brightest side of cube, rather than averaging all 6 sides of cube
2023-05-22 20:41:11 -06:00
Jonathan b43e1a5b7e Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-05-21 11:07:39 -04:00
Jonathan 0f5690bf6d allow light 0 to work
fix bad std::move
2023-05-21 11:07:33 -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 356e5ab963 build: fix build (avoid std::identity) 2023-05-11 00:37:35 -06:00
Eric Wasylishen 895a28584c light: experimental autominlight for solid black sides of doors 2023-05-11 00:17:47 -06:00
Random c6ea63ba95
made CMake relative for use as a sub-project within other CMake projects (#356) 2023-05-10 19:45:51 -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 0ab3aae111 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
# Conflicts:
#	common/bspfile.cc
2023-05-08 17:47:12 -04: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 a73075234e light: fix inheriting worldspawn _minlight_color by bmodels 2023-05-08 00:24:53 -06:00
Eric Wasylishen c9e41ab4db style: remove GLM_ prefix (no longer using glm) 2023-05-07 21:44:29 -06:00
Eric Wasylishen 18a7df1a1b style: reformat 2023-05-07 21:44:29 -06:00
Eric Wasylishen 3e446e6ea6 qbsp, light: fix inheriting minlight from worldspawn
Update q2_light_group.map to support this
2023-05-07 21:44:29 -06:00
Eric Wasylishen 056f736e60 light: add minlight_mottle as an alias for minlightMottle (in worldspawn) 2023-05-05 23:00:24 -06:00
Eric Wasylishen 5f7e08d0ef light: CalcPoints: fix check for luxels being too far from the face to be visible 2023-04-29 19:52:31 -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 e9539eff82 oops I should have tried compiling 2023-04-24 02:21:04 -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
Eric Wasylishen addc6e922b tests: add test case for culling of surface lights in the void 2023-04-09 12:39:19 -06:00
Eric Wasylishen d1e5daedf0 light: fix lighting output change in last commit
if the center of a surface light fragment was exactly coplanar with a wall, the last commit would reject it
whereas previously, we would still emit light
2023-04-08 23:43:43 -06:00
Eric Wasylishen 28776464c7 light: MakeSurfaceLight: cull surface light fragments that are in the void 2023-04-08 16:39:09 -06:00
Eric Wasylishen 098ce84d7b light: fix minor threading bug with `total_surflight_points` stat
needs to be protected by mutex
2023-04-08 16:16:44 -06:00
Eric Wasylishen c2a787f6a3 light: add missing model offset for luxel occlusion check against bmodels with origin brush 2023-04-08 12:37:44 -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 a551be5e9d light: remove lightgrid extra after experimenting 2023-03-04 14:40:28 -07:00
Eric Wasylishen e020bf1f27 light: fix lightgrid extra condition 2023-03-04 14:06:31 -07:00
Eric Wasylishen f0749450d3 light: support -extra for lightgrid 2023-03-04 11:05:50 -07:00
Eric Wasylishen b17633f746 cleanup: set PackConstructorInitializers: Never 2023-02-20 10:23:59 -07:00
Eric Wasylishen f8b189c527 light: fix sample occlusion / object channel mask interaction 2023-02-20 01:03:12 -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 8516bfb5e2 light: skip lightmapping sky faces if lightgrid is in use 2023-02-17 17:41:49 -07:00
Eric Wasylishen 8cc7b0e3f3 light: add test for sky getting an optimized lightmap 2023-02-17 00:24:08 -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 2d292250c9 light: fix missing return statements 2023-02-15 00:25:24 -07:00
Eric Wasylishen 6c1b8cb31c light: lightgrid: fix not using data.occlusion, data.grid_result 2023-02-15 00:22:12 -07:00
Eric Wasylishen 78f90c1e3b light: lightgrid: fix order of saving data.grid_dist 2023-02-15 00:18:52 -07:00
Eric Wasylishen 2d515437e1 light: lightgrid: code reorganization 2023-02-14 09:56:47 -07:00
Eric Wasylishen 776bcd43cc light: octree lightgrid: don't subdivide further if mostly unoccluded 2023-02-12 17:54:34 -07:00
Eric Wasylishen f5fad41402 light: add debug visualization for octree lightgrid 2023-02-12 16:35:46 -07:00
Eric Wasylishen 48fe527955 light: add _lightgrid_hint point entity key for customizing lightgrid bounds
use it as a info_null key: "_lightgrid_hint" "1"
2023-02-12 15:03:08 -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
Eric Wasylishen 9ac75563fd light: fix ambiguous constructor error on gcc12 2023-02-12 10:23:58 -07:00
Jonathan ec55e5f2da fix some data bugs with lightgrid octree mode 2023-02-11 12:19:00 -05:00
Eric Wasylishen f399b95bb8 light: add octree experimental version of lightgrid lump 2023-02-10 08:54:30 -07:00
Eric Wasylishen 6aa705e5f6 light: expand cluster bounds by 1 unit on each axis, clamp to overall grid size 2023-02-10 00:57:01 -07:00
Eric Wasylishen 22be0c4077 light: add -lightgrid_format option. takes "cluster" or "uniform" 2023-02-10 00:56:21 -07:00
Eric Wasylishen 051cc29afb light: add operator== for lightgrid_samples_t 2023-02-10 00:29:14 -07:00
Eric Wasylishen a8af353461 light: add another experimental LIGHTGRID_PERCLUSTER bspx lump
lower lightgrid_dist default from 64 to 32
2023-02-08 00:12:22 -07:00
Eric Wasylishen 96c7658b80 light: nudge lightgrid points if stuck in solid 2023-02-07 00:56:27 -07:00
Eric Wasylishen aa831d9ac3 light: add -lightgrid_dist 2023-02-07 00:46:54 -07:00
Eric Wasylishen 13fcc75bac Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-02-06 22:04:34 -07:00
Eric Wasylishen 1eda091542 light: LightPoint_SurfaceLight: use pvs 2023-02-06 22:03:03 -07:00
Eric Wasylishen e1f40ad995 light: LightGrid: don't calculate lighting for occluded samples 2023-02-06 21:56:51 -07:00
Eric Wasylishen 5f31141ac1 Revert "light: hack for sky + LIGHTGRID lump"
This reverts commit af2e8ae404.
2023-02-06 19:07:45 -07:00
Jonathan 5cd2a334f6 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-02-06 17:08:00 -05:00
Jonathan 11e2c02757 use 512 units per luxel for sky faces (not fully finished/working yet; they still get affected by dirt) 2023-02-06 17:07:46 -05:00
Eric Wasylishen af2e8ae404 light: hack for sky + LIGHTGRID lump
just sample the sunlight omnidirectionally
2023-02-05 23:09:05 -07:00