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
* 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>
* 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
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
- 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!
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