beyond-all-reason / beyond-all-reason/RecoilEngine
(Low Priority) Shadow Objects Are Culled Incorrectly
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
I am using a low sun angle to demonstrate:
https://youtu.be/LyRKPqhjs7k
(*The spheres in video are units)
Objects seem to be culled not by criteria of expectancy of the shadow in view, but it seems that it simply culls a shadow object if the object is off view (it may not be exactly so, but it _feels_ so).
(I have not looked into exact part of code yet.)
I am using a sun angle of 30, which is kind of common, and it already becomes a problem. The problem is that I cannot even configure how a piece of world looks in the shadow from objects because those shadows just disappear when I try to take a look. Most problematic are trees, because their shadows are big and visually important when zoomed in.
Same happens in BAR, but BAR maps usually use higher sun angles to be of a problem.
**Edit:**
Tagged this issue as _low priority_, as I found a temporary fix in form of moving Spring camera some distance back to reduce culling, separately from camera position for rendering, which works quite well so far. It is not a fix though, just a workaround the problem.
Contributor guide
Research direction
No file or test is named; start by reproducing the linked video with a low sun angle and tracing where shadow objects are culled relative to the camera. Done means off-screen objects retain the shadows expected in view, including large tree shadows, without moving the camera as a workaround.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100