Good luck with this !OnoSendai wrote:It's the same simulation - IndigoOscar J wrote:Nice. Now Borrow lyciums earth (http://www.indigorenderer.com/images/at ... simulation) and make me a wallpaper.
What I'm going for here is efficient rendering of clouds with the atmosphere model, which is quite tricky.
Experiments..
Re: Experiments..
obsolete asset
Re: Experiments..
WOAH! quite impressive. Can't wait to put my hand on the beta... In the mean time I've been simulating with Specular and SSS but I'm really not getting what I was hoping for...
Thanks again Ono!
Thanks again Ono!
Re: Experiments..
awesome! good to see that shader you and bea were talking about
Re: Experiments..
There are some mistakes in the shader, will post more info on it soon
Re: Experiments..
Another cloud experiment:
Code for scattering coeff looks like this:
The general principle is to use a low frequency FBM to define the general cloud shape. (lowFreqBaseShape())
I then use the 'turbulence' technique to add high frequency detail. This can be thought of as perturbing the domain of the function with a fractal vector field.
The final result is then 'windowed' with a envelope based on the height (I use smoothPulse for this), and then passed into a step function, which gives hard edges to the clouds.
One pretty cool technique I'm using here is level-of-detail (LOD) based FBM detail - the further away a cloud point is, the fewer octaves of noise are used. I'll write more about this in another forum post.
Code for scattering coeff looks like this:
Code: Select all
def z_envelope(real z) real :
let
cloud_half_h = 100.0
cloud_h = cloud_half_h * 2.0
base_z = 1100.0 - cloud_half_h
in
smoothPulse(base_z, base_z + cloud_h * 0.3, base_z + cloud_h * 0.5, base_z + cloud_h, z)
def lowFreqBaseShape(vec3 pos) real :
let
warped_pos = vec3(x(pos) * 0.6, y(pos), z(pos))
in
(fbm(warped_pos*0.004, 8) * 0.5 + 0.5) * z_envelope(z(pos))
def eval(vec3 pos) vec3:
let
cam_pos = vec3(2077.0, -1447.410, 700.588)
A = 0.00001
octaves = max(1, floorToInt(-log(A * dist(cam_pos, pos))))
turb_offset = fbm3Valued(pos * 0.03, octaves)
c = lowFreqBaseShape(pos + turb_offset * 30.0)
max_sigma_s = 0.025
in
vec3(step(0.6, c) * max_sigma_s)
I then use the 'turbulence' technique to add high frequency detail. This can be thought of as perturbing the domain of the function with a fractal vector field.
The final result is then 'windowed' with a envelope based on the height (I use smoothPulse for this), and then passed into a step function, which gives hard edges to the clouds.
One pretty cool technique I'm using here is level-of-detail (LOD) based FBM detail - the further away a cloud point is, the fewer octaves of noise are used. I'll write more about this in another forum post.
Re: Experiments..
excellent, I'd bet that you have been using the triple valued fbm again. I'm totally seconding fbrunell !
Also, happy new year and best wishes to the four of you that I have come to met with. And by extension, the others I've met and every single user of Indigo !
edit following that last post: excellent shader indeed, no wonders it looks smart Yay. Nature gotta love floating octaves !
Also, happy new year and best wishes to the four of you that I have come to met with. And by extension, the others I've met and every single user of Indigo !
edit following that last post: excellent shader indeed, no wonders it looks smart Yay. Nature gotta love floating octaves !
obsolete asset
Re: Experiments..
Added in a phase function for cumulus cloud.
The only problem is it's very slow to converge, due to being highly forward scattering.
The only problem is it's very slow to converge, due to being highly forward scattering.
Re: Experiments..
Added ozone absorption to the sky model.
It gives a nice blue colour to the sky especially with the sun is low in the sky, or when it is below the horizon.
It gives a nice blue colour to the sky especially with the sun is low in the sky, or when it is below the horizon.
-
- Posts: 1828
- Joined: Mon Sep 04, 2006 3:33 pm
Re: Experiments..
That's looking good. Is this in the 'Original' sky model or the simulation model?
Re: Experiments..
Hi Tom,
The ozone absorption has been added to the atmosphere medium. At some point I'll regenerate the captured simulation data so that the new sky model (captured simulation) will have the same effect.
The ozone absorption has been added to the atmosphere medium. At some point I'll regenerate the captured simulation data so that the new sky model (captured simulation) will have the same effect.
Re: Experiments..
In these renders the sun is directly behind the camera, 1 degree below the horizon.
Re: Experiments..
The slightly more blue tint looks better to me then the previous ozone-free version.
A subtle enhancement, but still very welcome
A subtle enhancement, but still very welcome
While you are on that you mayba have a chance to fix the artifact the simulated sky has on the northpole (I used some more extreme camera tonemapping to show of the issue...)OnoSendai wrote:At some point I'll regenerate the captured simulation data so that the new sky model (captured simulation) will have the same effect.
- Attachments
-
- sky_issue.pigs
- (1.81 KiB) Downloaded 253 times
polygonmanufaktur.de
Re: Experiments..
That artifact is just noise combined with a spherical coord mapping. Just needs more render time generating the sky data
Who is online
Users browsing this forum: No registered users and 4 guests