View Issue Details

IDProjectCategoryView StatusLast Update
0005111The Dark ModCodingpublic08.01.2020 07:31
Reporterstgatilov Assigned Tostgatilov  
Status closedResolutionnot fixable 
Product VersionSVN 
Target VersionTDM 2.08 
Summary0005111: Restore and adjust FlowLightThroughPortals for parallel lights
DescriptionWith recent fixes for global parallel lights (0003818 / svn rev 8506), they have become "omnipresent".

As long as the light radius reaches the area, parallel light is present in it. Consequently, it casts all shadows from all objects. Given that parallel lights are usually huge, there is no cutoff by distance. As the result, adding huge parallel light over the whole level harms performance indoors, which is quite unexpected and unwanted.

The main idea here is to fix FlowLightThroughPortals code path and enable it back.
Instead of starting from single area where origin is, this code should start from all the areas which intersect light-emitting quad faces of the light volume (there are usually three of them). After that the code can go through portals, realizing that most of the indoors areas cannot be reached at all. Then parallel light won't be referenced in those areas, and the problem will be solved.
TagsNo tags attached.


related to 0003818 resolvedstgatilov Parallel lights glitch 




08.01.2020 07:31

administrator   ~0012118

Ok, it turns out I should not have made that the references changes at all.

If we try to allow that parallel light starts over many areas, then there is a question which areas to take.
The idea about quad faces of light area is total shit, because these quads are usually out of the world, far from any areas.
And there are no other means to decide which area the light can start in, and which it cannot.
So it's better to return to old understanding, that parallel light starts in the single area containing its origin, and lights everything reachable by portals from there.

Here is the discussion:

Issue History

Date Modified Username Field Change
07.01.2020 04:19 stgatilov New Issue
07.01.2020 04:19 stgatilov Status new => assigned
07.01.2020 04:19 stgatilov Assigned To => stgatilov
07.01.2020 04:20 stgatilov Relationship added related to 0003818
08.01.2020 07:31 stgatilov Status assigned => closed
08.01.2020 07:31 stgatilov Resolution open => not fixable
08.01.2020 07:31 stgatilov Note Added: 0012118