Eric Wasylishen
2d54b3409a
remove unused code related to "no_phong"
2025-02-08 16:03:46 -07:00
Eric Wasylishen
bf6710e625
common: surfflags_t: convert is_hintship to function that checks for Q2_SURF_SKIP
2025-02-01 16:17:26 -07:00
Eric Wasylishen
f930305695
common: surfflags_t: convert is_hint to function that checks for Q2_SURF_HINT
2025-02-01 16:04:08 -07:00
Eric Wasylishen
429921868a
common: surfflags_t: convert is_nodraw to function that checks for Q2_SURF_NODRAW
2025-02-01 15:53:37 -07:00
Eric Wasylishen
9f4cfb0c3d
cleanup: code formatting pass
2024-11-18 21:25:27 -07:00
Jonathan
6c9b681b0f
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2024-08-26 06:12:09 -04:00
Jonathan
2b700f0514
allow non-fatal compiler errors
...
fix crash in whitespace trim
increase stack size
2024-08-26 06:12:05 -04:00
Eric Wasylishen
e5f01ce0e3
light: add _switchableshadow_target
...
Switchable shadows setup which works in id1
Fixes #432
2024-07-20 23:11:26 -06:00
Jonathan
b5089ce349
slight speedup by helping embree with alignment
...
merge some light algorithms together
allow changing attenuation on surface lights with _surflight_atten
replace some emplace_back's with push_back to improve compilation times
2024-06-02 19:49:32 -04:00
Jonathan
0f844ad3e2
don't output debug stuff if we don't need it
2024-05-29 07:12:56 -04:00
Eric Wasylishen
30868eacb7
light: LIGHTING_E5BGR9 + HDR .lit support ( #427 )
...
* light: Add support for LIGHTING_E5BGR9.
This is not really finished. Currently mutually exclusive with
regular RGBLIGHTING, and not tested with external .lit file.
* light: replace HDR_PackResult with a version following the OpenGL spec
- add HDR_UnpackE5BRG9 for unpacking
- caller is now responsible for scaling 128 -> 1
- expose in header for tests
* light: move HDR_PackE5BRG9/HDR_UnpackE5BRG9 to common/litfile.hh
* build: std::powf not available in gcc
* common: move LoadLitFile to litfile.hh
* common: LoadLitFile: return hdr variant as well
* lightpreview: add an Exposure slider
* lightpreview: support hdr .lit's, wip
* tests: refactoring to set up testing for hdr lit's
* tests: add test for -hdr and -bspxhdr
* tests: fix LM_Sample to deal with styles correctly
* lightpreview: fix glsl error
* lightpreview: show dialog box for glsl compile errors
---------
Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
2024-05-26 21:55:10 -06:00
Jonathan
6c9962eb8c
some more memory adjustments
...
settings cleanup, maputil/bsputil changes
(cherry picked from commit 59ac57306f13ff53f935f51bb5df1e59e76753ef)
# Conflicts:
# bsputil/bsputil.cc
2024-05-20 11:28:03 -04:00
Jonathan
71aa8aaeea
Paril/mem write ( #412 )
...
* simplify light_surfaces storage
* memory on writes
* Revert "batch together traces on the whole surface - saves a small amount of time"
This reverts commit 72611b7e97 .
# Conflicts:
# light/ltface.cc
* fix a use-after-move
* don't try to write lightmap if it has no styles
* fix issue with alignment
2024-03-13 20:01:05 -06: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
f3da00395d
style: replace (void) with ()
2024-02-26 21:07:22 -07: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
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