Understanding Nature is
essential to model it
by A. Nadif
XNA Meeting Point
XNA Meeting Point
Introduction
A few days ago, I read a post on the XNA-UK User Group about Nature being “wrong”. The author showed a picture of a mountain near the ocean. As he said, one would expect the reflection of the land on the water. But there was no such reflection.
I must say I did happen to encounter such things in real life that I’d have considered wrong if it was a computer generated graphics.
However, I spent some time thinking about this, wondering why people expect to see the reflection of the land. A rapid Google/Bing image search shows many pictures, drawings, paintings, computer generated images and photographs showing the reflection on the water of the nearby land. On the other hand, I did see with my own eyes a land surrounded by water, with no such reflection. I took quite a lot of photos and observations, and I came to the conclusion that there is a logical explanation to this and that it can end up improving our computer games.
Of course, these are my interpretations of what happens in Nature. Feel free to contact me at xnameetingpoint(at)gmail(dot)com to tell me what you think.
I must say I did happen to encounter such things in real life that I’d have considered wrong if it was a computer generated graphics.
However, I spent some time thinking about this, wondering why people expect to see the reflection of the land. A rapid Google/Bing image search shows many pictures, drawings, paintings, computer generated images and photographs showing the reflection on the water of the nearby land. On the other hand, I did see with my own eyes a land surrounded by water, with no such reflection. I took quite a lot of photos and observations, and I came to the conclusion that there is a logical explanation to this and that it can end up improving our computer games.
Of course, these are my interpretations of what happens in Nature. Feel free to contact me at xnameetingpoint(at)gmail(dot)com to tell me what you think.
My first observation
First, here is a picture I took illustrating the phenomenon we’re interested in. As you can see, there is no reflection of the land on the water.
We might think of a thousand reasons why there is no visible reflection in the water: the angle, the altitude, the height of the land/vegetation, the salinity…
However, here is another photo. As you can see, it seems there are two parts in the water.
However, here is another photo. As you can see, it seems there are two parts in the water.
The red part shows the limit between the two “kinds” of water. The yellow line shows the reflections of the land on the water. As you can see, the water on the left of the line seems “less reflective” than on the right. It actually has the same color/aspect that the picture shown in the XNA-UK blog.
So, let’s make a first hypothesis. Maybe the reflection only occurs on the right side, only because of the depth of the water, which is closer to the shore on the right side.
However, we don’t know for sure that the reflection never occur on the “left side water”.
We’ll take a look at other picture and see what is to keep and what is to throw away from this first idea.
So, let’s make a first hypothesis. Maybe the reflection only occurs on the right side, only because of the depth of the water, which is closer to the shore on the right side.
However, we don’t know for sure that the reflection never occur on the “left side water”.
We’ll take a look at other picture and see what is to keep and what is to throw away from this first idea.
My second observation
Now let’s go a bit farther from the shore and see what we get.
This picture throws away my first idea. It can’t be the depth that’d be less important near the shore, since we get a clean reflection at about half way to the other side.
We can clearly see in this picture, that the water here is “of the same kind” than the “right side water” from the previous picture.
Let’s take a look at another picture:
We can clearly see in this picture, that the water here is “of the same kind” than the “right side water” from the previous picture.
Let’s take a look at another picture:
Here, you can see that there is no clear left and right side as we could see before. It’s just like if the two “kinds” of water were at random locations.
So, maybe it is really due to the depth of the water. Who knows how exactly is the ground underwater.
However, this explanation does not quite satisfies me, because the changes are really neat.
Another idea is that it is due to different streams.
So, maybe it is really due to the depth of the water. Who knows how exactly is the ground underwater.
However, this explanation does not quite satisfies me, because the changes are really neat.
Another idea is that it is due to different streams.
My third observation
Now let’s take a look at another picture in “not reflective water”.
As you can see, there is a reflection on that area. It’s harder to see, but still, it’s here. Take the biggest tree, if you have trouble to see.
Now, let’s mentally compare every image we just saw. Each time there was no reflection – or that the reflection was hard to distinguish – the water looks seems agitated. On the contrary, when the reflection is clear, the water seems a quite calm.
As a result, here is my final hypothesis: streams of water. Different streams of water have different directions and speeds. I don’t quite know but I figure the separation between two of them is as neat as the transition we have here in our picture. Ley’s now see two more pictures.
Now, let’s mentally compare every image we just saw. Each time there was no reflection – or that the reflection was hard to distinguish – the water looks seems agitated. On the contrary, when the reflection is clear, the water seems a quite calm.
As a result, here is my final hypothesis: streams of water. Different streams of water have different directions and speeds. I don’t quite know but I figure the separation between two of them is as neat as the transition we have here in our picture. Ley’s now see two more pictures.
The water here is calm, not agitated at all. The reflection is easy to see. You’d generate such an image by using a plane and deform it following a wave pattern .
In this image, the water is agitated. We would achieve this by adding a noise as normal map, on top of the noise pattern.
If we take another look at image 2b, we see the red line separates agitated water from calm water.
If we take another look at image 2b, we see the red line separates agitated water from calm water.
A few notes
As we saw earlier, we can distinguish a reflection on the “noisy” water, even though it’s fuzzy. So, here are a few ideas to explain why we can’t see one on the first picture and the one from the XNA-UK blog.
- The image is taken from farther.
- The camera position is closer to the water line. It makes the reflection harder to see, the noise looks more important.
- The wave “cuts” the reflection, as we can see here:
Finally, the reflection is harder to see with an important brightness:
What can we developers do about it?
Well, if I’m right, than adding a good deal of noise to your water will make the reflection harder to see. Thus, it might be a good idea to distinguish random zones in your water, with different noise patterns. Also note that the reflection is almost always present the first few meters from the shore, as shown in images 2 and 2b.
Thanks for reading, I hope you found this interesting. I’ll try to make an implementation myself to test that idea. Of course, if you do that yourself, feel free to send it to me or to give me a few pictures that I’d put online. As I said, I welcome any comment, idea, other explanation or interpretation of these pictures. Your opinion also interests me.
Thanks for reading, I hope you found this interesting. I’ll try to make an implementation myself to test that idea. Of course, if you do that yourself, feel free to send it to me or to give me a few pictures that I’d put online. As I said, I welcome any comment, idea, other explanation or interpretation of these pictures. Your opinion also interests me.
Another example
Here, on this picture, I think the reflection is correct. Where we see the reflection, the sea is almost a plane. The few waves do cut the reflection. The brightness of the sun makes the reflection to fade away . Finally, the noise pattern makes the reflection fuzzy.
http://en.wikipedia.org/wiki/File:AOTDScreenshot.jpg
http://en.wikipedia.org/wiki/File:AOTDScreenshot.jpg