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