javiergcim / MakeUpUltraFast

High performance Minecraft shader (Java). For a graphical enhancement. Intended for low-spec computers.
GNU Lesser General Public License v3.0
97 stars 37 forks source link

Water reflections act weirdly. #1

Closed NicosHere closed 3 years ago

NicosHere commented 3 years ago

See attached screenshot. When I come close to fire the water reflects it in weird ways that shouldn't even be reflecting in the first place. 2021-03-14_23 11 52

javiergcim commented 3 years ago

I do not completely understand the image. Where is the water?

NicosHere commented 3 years ago

image

javiergcim commented 3 years ago

I understand.

Fake reflection is caused by a combination of several factors: we often use a technique to create the reflection called "Screen space reflection", which implies that only things that are on the screen appear in a reflection.

This usually limits reflections. Thus, when in many shaders you look at a large surface of water (for example), areas without reflection appear on the sides. To avoid these "gaps", MakeUp reuses some parts of the screen, even if these do not correspond to the objects that should be reflected (because they are outside the screen).

In your case, given the viewing angle, the FOV, and how the fire covers such a large part of the screen, it falls into a reuse zone of the ones I mentioned above.