Commit Graph

311 Commits

Author SHA1 Message Date
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
Eric Wasylishen 02cf58fc87 tests: add test map for #417 2024-04-09 22:49:01 -06:00
Eric Wasylishen 28190f5065 light: warn rather than fatal error on invalid "delay" settings 2024-04-01 12:02:39 -06:00
Eric Wasylishen 75e062bbb4 tests: add test for RTC_SCENE_FLAG_ROBUST
tests for same issue as:
https://github.com/ericwa/ericw-tools/issues/269#issuecomment-2027921279
2024-03-30 22:57:38 -06:00
Eric Wasylishen 992b6f0064 light: fix "mangle" on _sun 1 entities
Fixes #266
2024-03-30 11:41:12 -06:00
Eric Wasylishen 3fba6a6564 tests: add test for current behaviour of unknown q2 content/surface flags 2024-03-08 21:03:53 -07:00
Eric Wasylishen 93a43193df tests: add some missing faces test maps 2024-02-19 22:24:29 -07:00
Eric Wasylishen ba5ad539b8 light: q2: opaque lit liquids receive light from both sides by default 2024-02-15 23:51:28 -07:00
Eric Wasylishen b12894de64 qbsp: fix "sides not found" warning spam in Q1 maps with sky
fixes #366
2024-02-11 18:48:34 -07:00
Eric Wasylishen 765d95e189 qbsp: q1: make liquids detail when -transwater is in use (i.e. by default)
Fixes #353
Fixes #244
2024-02-10 21:08:29 -07:00
Eric Wasylishen ea8a733b37 tests: add _suntexture test 2024-02-05 23:47:23 -07:00
Eric Wasylishen aa970c0d18 qbsp: only pick up .wad textures when compiling for non-Q2 games
fixes #404
2024-02-04 19:41:45 -07:00
Eric Wasylishen a5b77d4dc4 tests: remove quake_map_source tests 2024-02-03 14:18:25 -07:00
Eric Wasylishen e8747407d6 tests: add test for solid black lightmaps in HL mode 2024-01-28 21:46:47 -07:00
Eric Wasylishen 23591efba9 tests: add test for q1 faces which receive no light
they're allowed to be written as style 255 / lightofs -1 in Q1 mode
including lit water.
2024-01-28 21:02:53 -07:00
Eric Wasylishen 0aeb0acd94 qbsp: adjust tjunc logic 2024-01-24 00:22:27 -07:00
Eric Wasylishen a8443ef0cf qbsp: make ALPHATEST imply DETAIL, TRANSLUCENT, and WINDOW (if solid)
like the existing logic for TRANS33/TRANS66
2024-01-23 21:16:40 -07:00
Eric Wasylishen b66c95a53f tests: add q2_mist_transwater 2024-01-23 20:36:34 -07:00
Eric Wasylishen 1b92d61cfb testmaps: add tjunc test matrix for q2 2024-01-22 21:34:49 -07:00
Eric Wasylishen 49d9c3be41 tests: add a test for Q2 fully black lightmaps
they can't be optimized with styles = [255, 255, 255, 255] like in Q1 mode
2024-01-14 20:31:28 -07:00
Eric Wasylishen 4f9cb6c2e0 testmaps: add e3m4.map test case from LibreQuake
commit 07a310760307585cd5663a52ae5d535bc384081f
2024-01-05 12:32:01 -07:00
Eric Wasylishen 8db1d32e9f light: fix excessive bouncing with lit water, or _shadow -1
Fixes #397
2023-12-24 00:44:56 -07:00
Eric Wasylishen 3eb5cb7c64 qbsp: omit func_detail_illusionary from bspx brushlist
also func_illusionary_visblocker

fixes #371

qbsp: fix bspx brushes
2023-11-26 01:17:03 -07:00
Eric Wasylishen b58b976693 tests: add qbsp content type tests 2023-11-26 00:23:41 -07:00
Eric Wasylishen c77f4ba2dd qbsp: fix misc_external_map + -wrbrushes
- fix world extents not including external maps
- thanks @DaZombieKiller for pointing this out

Fixes #372
2023-11-18 15:14:38 -07:00
Eric Wasylishen 8362ffa385 qbsp: fix memory/.bsp file corruption if map contains a texture name longer than 31 characters 2023-09-24 19:42:42 -06:00
Eric Wasylishen 507c315f78 light: fix missing textures accidentally activating "suntexture" feature and breaking sunlight
Fixes #376
2023-09-11 21:44:38 -06:00
Eric Wasylishen a02a4ec316 imglib: fix wad3 loading (thanks to erysdren for the fix)
add a basic half-life test case (box map)
2023-07-18 17:57:51 -06:00
Eric Wasylishen 40a10b2c52 bspinfo: serialize missing textures (offset -1) to json as null
previously, we were writing a json dictionary which was confusing

- bspfile: fix reading a valid texture followed by a missing texture
(offset -1)

- add missing texture testcase
2023-07-18 00:17:24 -06:00
Eric Wasylishen 8034215b3a tests: add "minlight doesn't bounce" test 2023-06-10 16:36:17 -06: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 d38ef2d8af qbsp: allow _litwater/_splitturb as a bmodel key
supports both opt-in and opt-out
2023-05-28 23:44:57 -06:00
Eric Wasylishen 2533e7e40d qbsp: support _mirrorinside 0 in Q1 mode
to disable mirroring water surfaces
2023-05-28 14:00:08 -06:00
Eric Wasylishen 31ab43a181 tests: add q1_liquid_software.map (renders badly in tyrquake) 2023-05-28 11:37:35 -06:00
Eric Wasylishen fa890456f6 qbsp: don't merge faces across sky boundaries 2023-05-27 23:42:33 -06:00
Eric Wasylishen c649e3a0c8 tests: add ExportWad test 2023-05-27 17:05:41 -06:00
Eric Wasylishen 8ff83b4d36 testmaps: set a color for our e1u1/sky1 placeholder texture
so it's possible to test sunlight in q2 testmaps
2023-05-20 21:19:06 -06:00
Eric Wasylishen 9c466dd813 tests: add q1 hull1 failure example 2023-05-20 19:17:59 -06:00
Eric Wasylishen f14f327a9a common: more robust hexen2 detection
Fixes  #355
2023-05-13 00:46:02 -06:00
Eric Wasylishen a73075234e light: fix inheriting worldspawn _minlight_color by bmodels 2023-05-08 00:24:53 -06:00
Eric Wasylishen d9e16a943a qbsp: add -noextendedsurfflags flag to suppress .texinfo writing (for testing/debugging) 2023-05-07 23:56:30 -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 cfd3336644 test: lightmap artifacts on a low luxel scale 2023-04-30 17:53:19 -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
Eric Wasylishen fa7da0b4a2 tests: add test where CaclPoints + low luxel scale fails 2023-04-29 17:14:43 -06:00
Eric Wasylishen bc7f08abe5 test: add broken case where func_detail_wall generates splits 2023-04-25 23:48:09 -06:00
Eric Wasylishen 50d97321d7 qbsp: add -bmodelcontents flag 2023-04-22 19:15:55 -06:00
Eric Wasylishen a2d89e3307 qbsp: q1: fix visportals being created to solid leafs
fixes crash on ej3_cc.map
2023-04-17 23:42:00 -06:00
Eric Wasylishen 93f985a9e5 tests: add q1_lightignore.map test 2023-04-12 00:04:56 -06:00
Eric Wasylishen ac21db8722 common: add png loader test 2023-04-10 14:06:35 -06:00