Commit Graph

3605 Commits

Author SHA1 Message Date
Eric Wasylishen 287ac96363 light: fix sunlight to check object channel mask 2022-12-14 00:15:23 -07:00
Eric Wasylishen aca9820b03 light: don't bounce light for channel != 1 2022-12-13 23:59:58 -07:00
Eric Wasylishen ff73f13830 light: skip vis culling if lighting channels are used 2022-12-13 23:54:49 -07:00
Eric Wasylishen ccb72a3bf5 light: expand test case for light channels 2022-12-13 23:42:26 -07:00
Eric Wasylishen 00754e588e light: setting an _object_channel_mask implicitly enables shadow casting 2022-12-13 23:37:00 -07:00
Eric Wasylishen ea0ed34506 light: fix light bounds culling breaking channel masking
the bounds are only calculated for mask 1, so only apply bounds culling for lights on channel 1
2022-12-13 23:32:14 -07:00
Eric Wasylishen 8aa49699f8 light: rename channel mask keys
models:
_object_channel_mask

lights:
_light_channel_mask
_shadow_channel_mask
2022-12-13 23:20:27 -07:00
Eric Wasylishen 181d608c7a light: add missing RTC_SCENE_FLAG_CONTEXT_FILTER_FUNCTION now needed
also check channelmask/shadowmask in Embree_FilterFuncN
2022-12-13 20:04:22 -07:00
Eric Wasylishen 92d5c75424 light: experimental light channel mask feature 2022-12-13 19:13:58 -07:00
Eric Wasylishen 8728d982c3 light: remove more dead code 2022-12-13 18:59:35 -07:00
Eric Wasylishen 54e598c5fb light: clean up dead code 2022-12-12 18:02:33 -07:00
Eric Wasylishen 6ebd4eba58 tests: log .bsp copying 2022-12-12 17:58:02 -07:00
Eric Wasylishen 63cac32f88 light: quick experiment with a _light_group feature for lights that only affect linked bmodels 2022-12-11 15:36:08 -07:00
Eric Wasylishen bded0ab344 light: fix negative lights breaking when bounce in use 2022-12-10 15:10:36 -07:00
Eric Wasylishen e7b20733d3 qbsp: write .prt files in text mode for TB compatibility 2022-12-09 22:54:56 -07:00
Eric Wasylishen 24f79d13bb light: recognize _cone as an alias for spotlight cone angle (q2 compat) 2022-12-09 00:59:49 -07:00
Eric Wasylishen a5b83e088b light: work around visblocking opaque liquids causing light artifacts with -visapprox vis
in cases when we actually want light to shine through these surfaces
2022-12-09 00:07:50 -07:00
Eric Wasylishen 924847661c test_ltface: add test for `-visapprox vis` issue with opaque liquids 2022-12-08 21:46:35 -07:00
Eric Wasylishen 331dbfc20d vis: refactor output_group and advanced_group to avoid name clash with light 2022-12-08 21:32:39 -07:00
Eric Wasylishen 2ff9eda020 vis: refactor winding_t -> viswinding_t 2022-12-08 21:29:22 -07:00
Eric Wasylishen 642c4b589c tests: add vis_main() taking std::vector 2022-12-08 21:27:37 -07:00
Eric Wasylishen a70c8f4835 light: fix artifacting with translucent shadows
Embree is allowed to call the filter function more than necessary.
The previous implementation had side effects that would cause
the translucent shadows to get darker in this case.

As a limitation, we're back to only allowing 1 layer of glass per ray.
2022-12-07 00:23:26 -07:00
Eric Wasylishen 3e673d2119 qbsp/light: restore TRANS33/TRANS66 faces casting translucent shadows by default 2022-12-06 23:38:43 -07:00
Jonathan cde7fd2908 add back in `_bouncestyled` in worldspawn; default to true on Q2 mode 2022-12-06 21:23:05 -05:00
Eric Wasylishen 7ce14a376f qbsp/light: make liquids not cast shadows by default
previously opaque Q2 liquids (e.g. lava, opaque water) were casting shadows / dirt
2022-12-06 17:03:39 -07:00
Eric Wasylishen 185d12996b Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2022-12-06 15:19:46 -07:00
Eric Wasylishen eae434736a light: support _minlightMottle on worldspawn 2022-12-06 15:18:16 -07:00
Jonathan 15b9a78fd1 fix gate being incorrect
add surflight grouping
fix minlight on color'd _surface lights
2022-12-05 20:35:44 -05:00
Eric Wasylishen 82fff17ac4 docs: document how to install sphinx 2022-12-04 21:04:23 -07:00
Eric Wasylishen e73aa29dd1 light: adjust epsilon to fix q2_light_flush.map test case 2022-12-04 00:10:01 -07:00
Eric Wasylishen 555f07ed61 test_lftace: add a test for an issue of wrapped luxels interacting with surface lights 2022-12-03 14:27:00 -07:00
Eric Wasylishen 41de747a9a qbsp: for "Q2 phong (value set, LIGHT unset) used on a mirrored face." warning, don't set value to 0
- setting value to 0 was not a robust way to disable phong
- it could actually have the reverse effect if "value 1" was
  being used to change a smoothing group, setting value back to 0
  could reintroduce unwanted smoothing
- that hack should be less useful with the phong system improvements
  in the previous commits
2022-12-01 01:23:28 -07:00
Eric Wasylishen f66e4790a4 qbsp/light: add no_phong texinfo flag (currently not used/exposed) 2022-12-01 01:16:17 -07:00
Eric Wasylishen 1065adecc6 qbsp/light: implement _phong_group key, equivalent to Q2 "value" field 2022-12-01 00:25:05 -07:00
Eric Wasylishen 9fa9124404 light: redesign Q2 phong check
- always do angle check
- always do gamedef specific exclusions (e.g. warping surfflags don't phong with non-warping)
- if Q2 style phong is requested, but Q1 is not in use, use the default phong angle
- always do smoothing group ID check (preparation for supporting this in Q1 mode via a key)
2022-11-30 23:24:51 -07:00
Eric Wasylishen 96bdf141bb light: block phong if certain surfflag bits differ between the two faces
this prevents liquids from phonging with solids
2022-11-30 22:15:58 -07:00
Eric Wasylishen ab78b43c52 decompile: BuildInitialBrush_Q2: prefer earlier brush sides
fixes issue with bevels sometimes being used to texture faces,
which have randomly wrong texture projections
2022-11-26 19:34:25 -07:00
Jonathan 62409458c6 remove some stuff that makes decompiling maps more annoying to build 2022-11-26 19:12:48 -05:00
Jonathan 96e88cfab1 allow a .map to be updated with a .ent file as input using replace-entities 2022-11-25 04:51:00 -05:00
Eric Wasylishen f7370db0be decompile: avoid generating three points from micro-faces 2022-11-25 01:05:41 -07:00
Eric Wasylishen 8b82460201 decompile: output source brush number 2022-11-25 00:32:31 -07:00
Eric Wasylishen 743e177694 decompile: BuildInitialBrush_Q2: fix handling of redundant planes 2022-11-25 00:32:18 -07:00
Eric Wasylishen abb92d4b0f qbsp: fix crash when using -omitdetail and an all-detail bmodel 2022-11-21 01:13:31 -07:00
Eric Wasylishen 04adb17b1b qbsp: fix -nodetail in q2 mode 2022-11-21 00:10:26 -07:00
Eric Wasylishen 12d82db8b1 qbsp: implement -omitdetail for q2 2022-11-20 23:58:30 -07:00
Eric Wasylishen 5d3fab75b6 light: allow .wal_json metadata to contain "light": [ r, g, b ] to override emissive color
Use this to fix the "emissive lights" test case so it can run on CI without any texture data
2022-11-20 23:01:05 -07:00
Eric Wasylishen efac0c5a31 qbsp: make -noallowupgrade also disallow the extended-limits (int16_t -> uint16_t) subformats 2022-11-20 12:13:06 -07:00
Eric Wasylishen 047973a30a test_ltface: "emissive lights": disable test until we have a fix for needing real texture data 2022-11-19 19:37:42 -07:00
Eric Wasylishen c84d7a687e test_ltface: fix differing behaviour locally and on CI 2022-11-19 19:36:49 -07:00
Eric Wasylishen 37ced86cec tests: fix light settings not clearing across tests 2022-11-19 19:02:55 -07:00