Commit Graph

131 Commits

Author SHA1 Message Date
Eric Wasylishen c9aad9d2ce light: Refactor CalcPoints, store whether a point is occluded 2016-04-06 18:29:24 -06:00
Eric Wasylishen a407b971bc light: rework LightFace_Entity to fully fix testlightonface.map 2016-04-05 12:52:44 -06:00
Eric Wasylishen 163b599900 light: tweak angle test for testlightonface.map. 2016-04-05 00:58:05 -06:00
Eric Wasylishen f315366f43 light: hack to fix lights exactly on faces 2016-04-04 23:58:12 -06:00
Eric Wasylishen e11e9d5c1f light: embree support 2016-03-30 14:58:21 -06:00
Eric Wasylishen 34858ed243 light: fix sunlight + phong shading 2016-03-05 23:56:28 -07:00
Eric Wasylishen 1a48e5a24a light: fix issue with CalcPoints trace hitting a corner, spuriously setting tr.hitback, and returning the wrong hitpoint 2016-03-05 00:57:47 -07:00
Eric Wasylishen 41972a376a qbsp, light: Strip texinfo flags other than TEX_SPECIAL.
Write extended ones to a "mapname.texinfo" file.
Support "_dirt" and "_minlight" flags on func_detail/group.
2016-03-05 00:26:54 -07:00
Eric Wasylishen 0b4c044473 light: fix dirtmapping traces 2016-03-04 20:40:14 -07:00
Eric Wasylishen fec88c3186 light: fix build on MSVC 2016-03-02 19:21:30 -08:00
Eric Wasylishen 492d94c1fe light: new phong shading keys, "_phong_angle" and "_phong".
"_phong" "1" is a shortcut for "_phong_angle" "89".
"_phong_angle" sets the max angle in degrees between faces that will get smoothed.
2016-03-02 20:00:05 -07:00
Eric Wasylishen 3056971ae6 light: fix issue with lights within 1 unit of a face not casting light on that face
fixes https://github.com/ericwa/tyrutils-ericw/issues/10
2016-02-25 23:02:43 -07:00
Eric Wasylishen 48830f2b1a light: revert CalcPoints changes as it was causing light leaking in jam2_mfx
(points on the top edge of a face were crossing a wall, but ended up in the open so they were accepted as OK)
2016-02-25 15:34:07 -07:00
Eric Wasylishen 4ed6db3020 light: add new TraceFaces API which gives accurate info on the first hit face of a trace.
Need to use this for: dirtmapping, fence textures, GI
2016-02-21 22:31:06 -07:00
Eric Wasylishen 4e74e530c0 light: dynamically allocate memory for lighting each face 2016-02-20 14:43:38 -07:00
Eric Wasylishen 22dd1726de light: move lightsurf_t etc. to header 2016-02-20 14:41:58 -07:00
Eric Wasylishen 942c87a98b light: fix phong shading for sunlight 2016-02-16 19:16:42 -07:00
Eric Wasylishen ae04899ce5 light: make CalcPointNormal more robust; don't use micro-triangles (<1 unit area) for interpolating normals 2016-02-16 19:09:43 -07:00
Eric Wasylishen 1fd1637de1 light: add -phongdebug option 2016-02-15 20:27:03 -07:00
Eric Wasylishen fdc1f25276 light: add phong shading debug function 2016-02-15 17:59:05 -07:00
Eric Wasylishen a515a13107 Lightmap_ForStyle: change back to taking a const lightsurf_t* 2016-02-15 16:20:29 -07:00
Eric Wasylishen 537937f0eb Lightmap_Soften: remove stack allocation 2016-02-15 16:20:29 -07:00
Eric Wasylishen b2687481d6 WriteLightmaps: revert to how I was getting the sample points 2016-02-15 16:20:29 -07:00
Eric Wasylishen 7128a8e956 code formatting, normalize most whitespace to 4 spaces 2016-02-15 16:20:29 -07:00
Eric Wasylishen 1f05b7976a fix wrong FindTexinfo call
fix Lightmap_ForStyle call
change M_PI to Q_PI
switch to Q_strncasecmp
2016-02-15 16:18:51 -07:00
Eric Wasylishen 1630b8756e tyrutils-ericw-spike rebased on to 998c9d3acb 2016-02-15 16:16:37 -07:00
Eric Wasylishen 9496991e60 LightFace_Min: allow delay 4 lights to use lightstyles 2016-02-14 20:45:56 -07:00
Eric Wasylishen 651e7ca827 CalcPoints: if NearWall() fails, first try fudging by 0.25 units in each direction 2016-02-11 23:30:21 -07:00
Eric Wasylishen a439f891a1 CalcPoints: Skip the trace if a PointContents says the point is already unobstructed.
Handles beveled walkways in telefragged.bsp which touch a wall along one edge, but don't split the wall.
Previously, the walkways were blocking most of the traces for the wall, messing up all of the wall sample points.
2016-02-11 22:38:23 -07:00
Eric Wasylishen 420125cc67 replace tabs with spaces.
for FILE in $(find . -name "*.h" -or -name "*.c"); do cat $FILE | expand > temp; cat temp > $FILE; done
2015-12-07 15:08:48 -07:00
Eric Wasylishen b3472d89e7 light: fix antilights which were broken with the light culling change 2015-11-07 11:58:07 -07:00
Eric Wasylishen d0fb0bd410 light: remove entity->fadedist, it was error-prone, and instead just check light level. it's only very slightly slower. 2015-10-25 23:18:17 -06:00
Eric Wasylishen c0d61d4147 light: cull light bounding sphere against surface bounding sphere before checking each surface point. gives a modest speedup. 2015-10-23 15:10:35 -06:00
Eric Wasylishen 1cf7af0c17 light: remove unused FaceArea function 2015-09-12 19:07:58 -06:00
Eric Wasylishen 8e29319309 light: avoid doing the trace twice when there is no obstruction 2015-09-12 18:53:56 -06:00
Eric Wasylishen 46cbcfd12b light: add -dirtangle flag to control dirtmapping cone angle 2015-08-28 20:22:54 -06:00
Eric Wasylishen 72a5885437 light: fix crash in "Bad texture axes on face:" error. Print more detailed face info. 2015-08-09 12:27:55 -06:00
Eric Wasylishen 18dce775dd light: fix lighting of rotatating entities (hiprotate). the model offset was not being used correctly.
todo: the trace code needs to take the model offset into account too, so shadow casting and self-shadowing are broken for hiprotate.
2015-08-08 21:37:58 -06:00
Eric Wasylishen b68ba8c983 light: average the color to get the value to write to the .bsp lightmap.
This avoids issues with some engines that require the lit and internal lightmap to have the same intensity. (MarkV, some QW engines).
Previously, if you used low-value colors (e.g. "0.2 0 0"), the .bsp lightmap and .lit file could have vastly different brightness.
2015-08-05 13:47:04 -06:00
Eric Wasylishen e9f240b623 light: .lux file support from Spike 2015-07-09 16:34:12 -06:00
Eric Wasylishen e242a9c910 light: Add gamma control with -gamma flag and "_gamma" key 2015-07-09 16:33:07 -06:00
Eric Wasylishen 26a03ace45 light: optimization: avoid iterating over non-light entities in light thread. 2015-06-02 00:51:37 -06:00
Eric Wasylishen 4105bc505f light: optimization: avoid unnecessary memsets, from spike 2015-06-01 23:14:19 -06:00
Eric Wasylishen e0d3f872ff light: rewrite part of WriteLightmaps for more readable code 2015-05-31 12:27:40 -06:00
Eric Wasylishen 54e7c2ab8e light: fence texture tracing 2015-04-27 00:26:42 -06:00
Eric Wasylishen a33c4b0136 light: surface light support via "_surface" "texturename" light key 2015-04-26 02:24:57 -06:00
Eric Wasylishen 59bb786880 light: remove unused bsp_origin constant 2015-04-25 21:18:28 -06:00
Eric Wasylishen aa5dfa8b19 light: respect "_dirt" "-1" bmodel key in -dirtdebug mode 2015-04-25 20:46:05 -06:00
Eric Wasylishen ef471ee44f Support "_dirt" "-1" on bmodels to disable dirtmapping 2015-04-25 20:45:54 -06:00
Eric Wasylishen be8c42460c _sunlight2 (sky light, light dome) support from q3map2
_sunlight penumbra (deviance) from q3map2
light penumbra from q3map2
2015-04-25 20:45:44 -06:00