Jonathan
3356b5776e
memory on writes
2024-03-13 01:12:24 -04:00
Jonathan
0942b9eb0c
simplify light_surfaces storage
2024-03-10 18:20:20 -04:00
Jonathan
3d419853d3
store leaves on surf instead of surface light
2024-03-09 00:14:03 -05:00
Jonathan
6c1feb5af8
cut per-surface memory usage down by making streams re-usable per thread
2024-03-08 23:09:16 -05:00
Eric Wasylishen
12b8066246
light: change remaining double -> float
...
tiny perf improvement on base1-test.map with light params:
-emissivequality high
before: 7.4s
after: 6.9s
no visible changes in base1.
2024-02-25 23:42:45 -07:00
Jonathan
53850d94ac
fix crash in embree tracing due to new batching code
...
simplify structs for tracing
2024-01-21 08:52:16 -05:00
Jonathan
72611b7e97
batch together traces on the whole surface - saves a small amount of time
2024-01-19 08:48:51 -05:00
Jonathan
0ff4e8ddd5
fix gate on lightgrid
2024-01-17 02:27:50 -05:00
Jonathan
a04bb771ce
disable gate on high quality
2024-01-14 23:10:21 -05:00
Eric Wasylishen
6351cc50e6
rename: vec_t -> double
2023-12-23 21:09:16 -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
Jonathan
ec452e2291
remove implicit conversion for qplane3
2023-11-19 19:41:58 -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
Eric Wasylishen
7e5ad9a39b
lightpreview: add support for Q1 visdata
2023-11-06 22:54:21 -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
Eric Wasylishen
91734ac8f6
light: fix gcc9 build
2023-09-17 21:24:04 -06:00
Eric Wasylishen
e6d9605b86
light: fix lightgrid assertion failure if lightgrid gets a nan (separate bug)
2023-09-17 20:27:29 -06: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
Eric Wasylishen
b71a4ebaf1
light: wip fix for two-sided liquid lighting + surface lights
2023-08-28 23:33:55 -06: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
7608a78b44
style: use std::min/std::max/std::clamp and remove using
2023-08-07 15:42:29 -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
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
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
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
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
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
Eric Wasylishen
290af832af
style: rename dirt related member variables to match the actual names
2023-05-08 23:02:59 -06: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
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
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
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
e069d7b9b8
style: update settings api to follow current coding style
2023-04-16 11:55:38 -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
5daaeee6fb
allow `surflight_minlight_scale` to be specified per brush
2023-03-26 18:29:37 -04:00