Jump to content

Water reflections misaligned


Recommended Posts

Is this a known issue with X-Plane or some problem with my setup?

 

Distant water reflections are offset and don't look right. The closer one gets, the more correct they look. The issue is most apparent over large bodies of water. I've tried different water settings but it only seems to affect the quality of the (incorrect) reflections.

 

o9M5D.jpg
4KQ5l.jpg
 

Asus Prime X370 Pro / Ryzen 7 3800X / 32 GB DDR4 3600 MHz / Gainward Ghost RTX 3060 Ti
MSFS / XP

Link to comment
Share on other sites

  • 2 weeks later...

Are you absolutely sure? The issue is not always this apparent, but one good way to check is to take off from KORS Rwy 16 and keep flying towards the islands. It's not always as obvious. Here, the reflections on the right look normal, but on the left there's a small gap between the shoreline and the reflection.

1CLu0.jpg

 

I also posted this on the X-Plane.Org forum and at least other users there saw the same thing. I've also done some more testing:

 

-Installing a separate copy of the original DVD version of X-Plane 10, reflections look normal. However after updating to 10.30, the issue comes back.

 

-Running X-Plane with the integrated Intel graphics instead of my GTX 670 produce the same result, so it's not GPU-specific

 

-Increasing the reflection detail option doesn't improve the alignment of the reflections, only the quality of the actual reflection

Asus Prime X370 Pro / Ryzen 7 3800X / 32 GB DDR4 3600 MHz / Gainward Ghost RTX 3060 Ti
MSFS / XP

Link to comment
Share on other sites

I have given a more or less detailed technical description for the real reason of this issue (because its not new and there ever since X-plane introduced water reflections):

http://forums.x-plane.org/index.php?showtopic=80734&p=862793

 

 

Well, I have a better explanation to you ... especially as this issue is apparent ever since we have reflection in X-Plane (its not new). And no, it has not  only to do with the curvature of the earth.

 

The real "problem" is, that computing reflection needs (if it should look halfway realistic) to do a second render of the scene from the "mirrored" viewpoint of the user (which of course costs some performance for each extra rendered viewpoint!). But we have the big problem that usually - in most places - the mirror plane in the same scene can be in very different locations! Just think about lakes in the mountains at different altitudes ... This means, myriads of different mirror planes. And if we would want to have a correct reflections on all lakes, we would need an extra viewpoint for each of them (at least for each having a water plane at a different elevation) ... with hundred lakes at hundred different elevations, that would mean 100x the necessary computations (all for the same frame!!!) ....

 

So, you can imagine, that correct reflection computation (x-times rendering the same scene for all different mirror planes) would be excessively expensive (and would easily transform X-Plane to a slide show). Thats why X-Plane chooses a compromise .... it has some simple algorithms which tries to determine which is the most relevant mirror plane in your view (and of course, this algorithm can never be perfect and right ... often it just chooses the nearest lake to your aircraft location) and then uses this to compute the reflection. BUT, of course this same viewpoint will not be optimally aligned for lakes at other elevation .... and that leads to this "offset" effect you often see. You will also notice, that while you fly over the landscape, this offset also "shifts" on the fly .... this is where the "algorithm" changes the chosen mirror plane.

 

Easily put: this issue is long known to Laminar (you can still file it a bug to "emphasize" the significance to you), but at least - as I tried to describe above - it is (for some plain mathematical / geometry reasons) not easily solvable (otherwise Ben Supnik would have "fixed" it long time ago). What you see is effectively an "accepted" behavior to make reflections possible at all without completely killing frame rate.

 

The only thing that might(!) get improved would be to have a "better" selection algorithm of the most significant mirror plane ... BUT even that would NOT solve the real issue of not being able to compute hundreds of addition viewpoints for the same scene at the same time. It might (or maybe not) only make it less often have a strange offset visible ...

 

PS: and the setting in Rendering Options for reflections effectively sets how many details of the landscape will be rendered for the reflection viewpoint (this way you can increase the overall performance of the sim ... by for example only rendering terrain but no forests / buildings / lights etc.)

Link to comment
Share on other sites

There is a generic paper on rendering mirroring:

http://khayyam.kaplinski.com/2011/09/reflective-water-with-glsl-part-i.html

 

There is also a simple illustration which shows you how you need a second viewpoint to render the mirrored view (and with multiple surfaces, you need to do that multiple times if you wanted a "perfect" result).

Link to comment
Share on other sites

I have given a more or less detailed technical description for the real reason of this issue (because its not new and there ever since X-plane introduced water reflections):

http://forums.x-plane.org/index.php?showtopic=80734&p=862793

 

I wonder if FSX/P3D has the same issue then? Anyone knows?

"Society has become so fake that the truth actually bothers people".

Link to comment
Share on other sites

Interestingly, it seems to be not entirely unknown in the P3D world either (well, some research needed, as I am not using P3D):

 

Here is even a screenshot which shows exactly the same effect:

What I find interesting is, that they "say" its only apparent with REX4 textures ... which I find strange, because just plain textures should not make any difference to such a more "geometry / math" based problem. Maybe its just not as much obvious with default textures? Don't know ... Or maybe in the P3D world a REX4 texture update is doing more than just plain replace textures ... maybe it messes with some shaders too.

 

But here, in an Avsim thread, there are some hints - as it seems to me - that it is not just with REX4:

Well, what I can imagine is ... that P3D is in the end battling exactly the same problem with the multiple mirror planes .... It just might be, that they have some better "tricking" than X-Plane by for example forcefully offsetting the mirrored view a bit to avoid the gap as often as possible .... but this leads to a non perfectly aligned reflection too ... just in the "other direction".

 

You need to remember what I wrote about the mathematical problems of really correct reflections of multiple mirror planes .... those can't be easily cast away by magic (mathematics is an extremely magic proof science! :lol: ) ... you can only try to trick around and hope to get it right more often than not. So in the end you always have to pay a price ... either sacrifice "quality" or "performance" (even with todays hardware its hard to have both at once).

Link to comment
Share on other sites

The one thing that doesn't make sense is why doesn't this issue occur in X-Plane 10.02, nor FSX or P3D v1 or v2 (there's an issue with P3D v2 and REX, but that's another matter and the REX team are working to fix it).

 

This is the same scene in X-Plane 10.02. I'm simply not able to trigger those horribly misaligned reflections in 10.02 from any angle, distance or altitude while in X-Plane 10.3x, they're immediately noticable.

8Rh0k.jpg
0eE1q.jpg
L5ERS.jpg
DNWwP.jpg
kGV4u.jpg
sHOBU.jpg
 

 

I understand the rendering of reflections will never be perfect, but more recent versions of X-Plane 10 seem to take more shortcuts than the initial version did. It really looks "wrong", rather than just being a technical limitation. I'm not exactly sure when I started noticing this, maybe around version 10.20 - 10.25. Maybe because it's a "known technical limitation", some bugs have slipped into the shader code unnoticed? If it's simply a performance optimization, I would like the option to use the old, correct water reflections even with a performance hit.

Asus Prime X370 Pro / Ryzen 7 3800X / 32 GB DDR4 3600 MHz / Gainward Ghost RTX 3060 Ti
MSFS / XP

Link to comment
Share on other sites

Well, as I already told in the first place, I can assure you that the original problem was there even in X-Plane 9 .... Hell I have even found a few old mails from around 2008(at a time when there was no other FS having water reflections at all) where I have first discussed this with Ben (and where he first teached me about the geometry problems)! And, if you see my previous post in this thread, obviously even P3D has this problem under some circumstances (and FSX ??? I didn't know that it had water reflections at all). Its definitely an entirely different question, when and how much this issue becomes apparent ... In some cases its absolutely unavoidable, whereas in others it can be alleviated to a degree that it becomes a non issue. And yes, I admit, that at least in some situations it seems to be a bit too extreme (where it shouldn't be as big of a problem like in your first shots)

 

BUT I can definitely encourage you to report this problem to Laminar too (its good if not only I do tell them B) ) ... and make sure that you describe it as precisely as possible (they hate vaguely formulated problems as it costs lots of extra time to track those down) and - just like above - try to make comparison shots (under the exact same conditions but in different versions ... if this is really making the difference)

 

PS: here I have a screenshot proving, XP9 had this same issues (for the same reasons):

http://scr3.golem.de/?d=0807/X-Plane_9&a=67612&s=42

 

Or here is a very new shot from my own HD Mesh Scenery v3 preview set (taken with 10.30) .... which shows that 10.30 does not necessarily always renders it wrongly:

https://picasaweb.google.com/lh/photo/Qj_tVl-JuXgDuoCrpdpJE9MTjNZETYmyPJy0liipFm0?feat=directlink

 

It really all depends a lot on location and mesh scenery used (which defines where, how much, which form etc. water features are around you). But of course I still can not rule out some potential shader regressions ...

Link to comment
Share on other sites

Here, everything seems to be in the same unique 0ft MSL plane since we are speaking of sea-level bodies of water.

 

So I am not sure the "multiple plane" explanation, as given previously, holds true.

Sometimes a single tiny lake at a mountain can ruin the show ... BUT, as I told, I definitely can't rule out a possible shader regression being at play too (thats why I encourage to report this as a "bug").

 

Nevertheless, my description at least describes the overall reason for this effect (because it has been there ever since ... in some locations / situations in an obvious way while in others, not visible at all ... but nevertheless existent for the given mathematical reasons).

Link to comment
Share on other sites

 

 


What I find interesting is, that they "say" its only apparent with REX4 textures ... which I find strange, because just plain textures should not make any difference to such a more "geometry / math" based problem. Maybe its just not as much obvious with default textures?

 

I was skeptical as well, until I tried it out.

 

Top, P3D v2.4 with REX4 water textures...

Bottom, P3D v2.4 with native water textures....

332qwsg.jpg

 

I'm not sure what's actually causing it, but REX4 textures really do have a big "gap" between their shorelines and the start of the terrain reflections. I can't say if there is any trickery going on with the native textures, but whether there is or not the end result is effective. With native P3D water and waves, the reflections are true - edge to edge in the deepest of valleys or the most complex of archipelagos.

 

P3D must use some different math than X-Plane for this particular issue I guess.

 

Back to your regularly scheduled programming!

-Greg

Link to comment
Share on other sites

  • 1 year later...

Well, everyone did their best to deny this bug, but guess what.. It's actually fixed in XP 10.50 RC1!  :Party:

YoIBKEx.jpg

 

It just goes to show that the development of this sim would progress much faster if people didn't deny bugs and errors.

  • Upvote 2

Asus Prime X370 Pro / Ryzen 7 3800X / 32 GB DDR4 3600 MHz / Gainward Ghost RTX 3060 Ti
MSFS / XP

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...