OpenGL2: Don't project sun shadows onto nothing #680
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Don't project sun shadows (r_forceSun 1) on to view depth equal to 1.0 (nothing drawn or skybox). This caused a full second shadow of the entire level in tr.screenShadowImage. It would move as the camera far plane changed and rotate/stretch strangely as the camera view changed.
It was visible in-game on lightmapped transparent surfaces facing the skybox and happen to overlap the extra shadow of the level.
This affected the glass in wop_padship's underwater room.
World of Padman (engine fork) screenshots of wop_padship showing the issue:
"oh there's the problem, there is a phantom ship."
(The glass should all be the same brightness.)
ioquake3 with q3dm1 map:
(All maps had a second shadow in the shadowmap image but I don't know of cases it caused issues.)