Atmospheric and optical effects in TG2.

Started by icarus51, December 13, 2010, 06:10:19 AM

Previous topic - Next topic

Njen

Quote from: Tangled-Universe on December 13, 2010, 10:27:19 AM
It's not simulation if I apply my way of thinking :)
It's all approximation by heavy simplification, otherwise it would be way too slow I think.

It's all a simulation.

Quote from: Tangled-Universe on December 13, 2010, 10:27:19 AM
Yes, but only on a scale of "a wine glass on a table" :)
I don't think it would be able to do this on a planetary atmosphere scale with the same algorithms.

Chromatic dispersion is chromatic dispersion, the scale of it is irrelevant.

Tangled-Universe

Why do you think that is irrelevant?

For instance, in TG2 a cloud's bottom cannot be lit with GI by another cloud below it.
It's the limitation of these simplifications which allow certain things to be possible or not.
That's also a matter of scale/complexity.

Simply putting chromatic dispersion = chromatic dispersion isn't really an argument.
In that way my example wouldn't be any problem.

Njen

Your wine glass comment was in relation to my comment that other renderers can perform chromatic dispersion (not Terragen). I know for a fact that scale is irrelevant when simulating chromatic dispersion in those renderers because I have experimented with it myself, one simply just turns it on.

Tangled-Universe

I imagine that an algorithm, regardless what kind of, is optimized for a specific way of using which is likely scale relevant.
I can't imagine that one algorithm can simulate its effect for any given scale, because the approximation is limiting it's accuracy to a certain scale.
The simplification "holds up" to certain limits.

I know a bit of your background, but saying "A = A" and secondly that something is true because you worked with it, still doesn't sound like valid arguments to me.

Given your professional background as a lighter I'm likely to believe you though, also I don't want to let this grow into a silly argument :)

Cheers,
Martin

Oshyan

Indeed, the scale absolutely does matter. This is why, although many renderers are capable of good displacement for example, doing so on a planetary scale and with the level of detail that TG2 does is either impossible, very difficult, or very slow for many other renderers.

For optical effects like dispersion, depending on how they're achieved, the scale can matter quite a lot. Yes, some renderers can probably achieve a "natural" rainbow effect, at least on a local if not large scale, but the larger you scale it, the noisier it will be for a given render time because it's having to calculate more and more rays over larger and larger distances, with potentially greater and greater dispersing elements. So a real-world rainbow may be possible with existing render systems that simulate light dispersion, but to reach a high quality result would take ages, even for otherwise fast renderers.

In any case, as others have said some of these phenomenon are currently possible with various methods. Official support for more weather phenomenon is something we're considering for the future, but will not be in the next update. For now I suggest learning the many workarounds that others have created to add these types of effects to their scenes. They can actually be quite effect.

- Oshyan

Njen

#20
Quote from: Oshyan on December 13, 2010, 05:10:48 PM
Indeed, the scale absolutely does matter.

I understand what you are saying Oshyan, I was merely stating that when it comes to the algorithm used for dispersion, scale is irrelevant. Those renderers do not use a different algorithm for dispersion when used on an object of small scale versus an object of large scale.

Through to be sure, what does matter, which is what Tangled-Universe mentioned before, is complexity. That combined with relative screen space (which is what I think you are actually talking about), is what determines the speed of a render in regards to dispersion. A camera 1 unit away from a sphere 1 unit in diameter will take the same time to render as a camera 1000 units away from a sphere 1000 units in diameter. This is because the relative screen space will be the same. Rendering an entire atmosphere takes longer, not because of scale, but because of how much relative screen space it occupies.

Edit:
Quote from: Tangled-Universe on December 13, 2010, 02:33:01 PM
also I don't want to let this grow into a silly argument :)

Gah, you are right, I have been having a few grumbling days because I am doing boring things at work like writing documentation for a 3D pipeline I built for a VFX company. I hate writing documentation!

Oshyan

Quote from: njen on December 13, 2010, 08:10:16 PM
Quote from: Oshyan on December 13, 2010, 05:10:48 PM
Indeed, the scale absolutely does matter.

I understand what you are saying Oshyan, I was merely stating that when it comes to the algorithm used for dispersion, scale is irrelevant. Those renderers do not use a different algorithm for dispersion when used on an object of small scale versus an object of large scale.

The algorithms may not be fundamentally different, but they may be tuned or optimized differently depending on scale, if they want it to finish it a reasonable amount of time with acceptable quality.

I'm not just talking about screen space here either. A good example is the difficulty of making a realistic "moon glow" effect using just the GI calculations in TG2. Let's say you've setup the angles for sun and moon positioning correctly to have a "full moon" in your scene, and let's say you've figured out the right exposure values to be theoretically accurate. Even so you'll need such a high GI accuracy, resulting in such long render time, in order to achieve the effect that it's not really worth it and you might as well "cheat it" with a fill light. The reason is that the GI solution needs to calculate light reflecting off an object hundreds of thousands of "units" away in the scene, and each calculated ray has only a small chance of actually getting to the planet you're on to illuminate it, so you need to shoot a lot more rays to arrive at an accurate and noise-free solution, resulting in longer render time. The further away a GI contributing object is from the surface it's affecting, the lower the chance any given ray will reach the surface in question, and the higher the need for more rays for quality results.

- Oshyan

Matt

Quote from: Tangled-Universe on December 13, 2010, 01:24:59 PM
For instance, in TG2 a cloud's bottom cannot be lit with GI by another cloud below it.

Of course it can :)
Just because milk is white doesn't mean that clouds are made of milk.

Matt

Quote from: Oshyan on December 13, 2010, 05:10:48 PM
For optical effects like dispersion, depending on how they're achieved, the scale can matter quite a lot. Yes, some renderers can probably achieve a "natural" rainbow effect, at least on a local if not large scale, but the larger you scale it, the noisier it will be for a given render time because it's having to calculate more and more rays over larger and larger distances, with potentially greater and greater dispersing elements. So a real-world rainbow may be possible with existing render systems that simulate light dispersion, but to reach a high quality result would take ages, even for otherwise fast renderers.

No, sometimes scale doesn't matter at all. If I were to simulate the light scattering through a cloud of 1 billion particles spanning 1 metre, I might use exactly the same maths as if I were rendering 1 billion particles spanning the width of the galaxy.
Just because milk is white doesn't mean that clouds are made of milk.

Matt

#24
Of course, Terragen doesn't really simulate every single molecule in the atmosphere. It simulates the cumulative effect of a large number of molecules, where the actual number of molecules doesn't matter.

Generally speaking, a simulation is usually a heavy approximation to something. I don't think you can say that "simulation" and "approximation" are mutually exclusive.
Just because milk is white doesn't mean that clouds are made of milk.

Matt

Quote from: Oshyan on December 14, 2010, 11:31:50 PM
I'm not just talking about screen space here either. A good example is the difficulty of making a realistic "moon glow" effect using just the GI calculations in TG2. Let's say you've setup the angles for sun and moon positioning correctly to have a "full moon" in your scene, and let's say you've figured out the right exposure values to be theoretically accurate. Even so you'll need such a high GI accuracy, resulting in such long render time, in order to achieve the effect that it's not really worth it and you might as well "cheat it" with a fill light. The reason is that the GI solution needs to calculate light reflecting off an object hundreds of thousands of "units" away in the scene, and each calculated ray has only a small chance of actually getting to the planet you're on to illuminate it, so you need to shoot a lot more rays to arrive at an accurate and noise-free solution, resulting in longer render time. The further away a GI contributing object is from the surface it's affecting, the lower the chance any given ray will reach the surface in question, and the higher the need for more rays for quality results.

Right, but the problem would be exactly the same if you were rendering a model of that setup at a fraction of the size. Absolute size is irrelevant, only the angles are important.
Just because milk is white doesn't mean that clouds are made of milk.

icarus51

Hi,
Excuse if my questions  bother you but i try to understand the matter. Just in time with this issue  i read an answer by Oshyan about the Moon Glow, another difficult matter. I have noticed that if i render a half moon or full moon this satellite don't manage to scatter his light on the atmosphere and the landscape remain dark. If i increase Enviro Light  the sky turn to light but not like i want (light from Moon to surface and atmosphere).  Mumble mumble i gave birth to an idea and tried to render...

Oshyan wrote:

I'm not just talking about screen space here either. A good example is the difficulty of making a realistic "moon glow" effect using just the GI calculations in TG2. Let's say you've setup the angles for sun and moon positioning correctly to have a "full moon" in your scene, and let's say you've figured out the right exposure values to be theoretically accurate. Even so you'll need such a high GI accuracy, resulting in such long render time, in order to achieve the effect that it's not really worth it and you might as well "cheat it" with a fill light. The reason is that the GI solution needs to calculate light reflecting off an object hundreds of thousands of "units" away in the scene, and each calculated ray has only a small chance of actually getting to the planet you're on to illuminate it, so you need to shoot a lot more rays to arrive at an accurate and noise-free solution, resulting in longer render time. The further away a GI contributing object is from the surface it's affecting, the lower the chance any given ray will reach the surface in question, and the higher the need for more rays for quality results.


...and now there is my result.

Half Moon and Clouds - Close up

To render the Moon Glow i add a Light Source to the satellite (near the satellite surface) and i managed to have clouds lighted by this Moon Glow approximately to real effect.
What do you think? This is a mere test but enough nice for me.

I attached my TGD file of this work.

Below is the image finished. Total Render time in Quick render: 15' 36"



Bye








blackcat

#27
HaloSim is an excellent (and free) program developed by a pair of meteorologists that even allows you to choose the type of ice crystals creating halos (such as methane or ammonia ice, for example). Other customizable parameters include the angle of the sun above the horizon, etc.

http://www.atoptics.co.uk/halo/halfeat.htm

It takes only a minute to create the required effect which is then easily added to a TG rendering (it's how the halo and parhelia were added to the Titan volcano image I posted yesterday). I think doing it this way is simpler and allows much more latitude than if it were the result of a feature built into TG. For instance, sundogs rarely appear perfectly symmetrical in real life. In the Titan illustration I was able to easily make the left-hand one almost invisible (as though there were fewer intervening ice crystals in that part of the sky). I was also able to easily eliminate other halo phenomenon that I didn't want visible. This would have been much harder to do if TG had been generating the effect. Like HaloSim I suspect it would have to create all possible effects visible under the given conditions...something which would be rarely desirable.

Here is the picture I'm talking about...



icarus51

I know HaloSim but in which way is it possibile to transfer the results in Terragen? And about distorsion of sun and moon near the horizon? There is some way to make these effects with TG2? or with other render programs?
Thanks for your patience. :)

Oshyan

#29
I stand corrected (partially, at least) by Matt himself! :D

icarus, TG2 does not currently simulate the kind of atmospheric phenomenon you want to create. There *may* be ways of creating similar-looking effects, but they would not be accurate or likely to be easy to adjust. Using something like HaloSim is probably far easier and more controllable.

- Oshyan