Friday, 29 June 2012

Dynamic Sky Sphere With Clouds


OK, have a major project on at work, but still finding time to play with this :P Just so you don't go reading the whole post and then find there is no source link at the bottom, there is no source with this post.....

Right, so I wanted to add clouds to this shader and I thought, a Perlin noise generated cloud system would be great! So I set off down the road of getting a Perlin noise generation function into my shader and I first came across ret noise(x). Alas, the first incarnation of this page told me it was available from PS 1.1 up to PS 3.0 (it has changed now:P) and so for a few hours I tried to implement this function in my shader but the swine would always return 0.....not much noise eh. So I asked around the community and it turns out that this intrinsic function is not available :)

So my next stop was to get a Perlin equation (remember I have no education so unlike you guys I had to look this stuff up) I found plenty of examples including a talk from the man himself! But due to the very small area of my brain where I store my maths stuff I thought "Hey! I am sure there must be an NVIDIA shader out there that has noise!" and indeed there are. I then set about bolting in a function from an NVIDIA shader; think it was the Dura wood one, anyway, got that in there and compiled................turns out my shader combined with this method turns out to be "too complex" would you believe, even if I put in multiple passes. In the end I have decided to fake my Perlin noise clouds. I use a few images generated in photoshop using the cloud render. over lap these and rotate them either vertically, horizontally or even both either clockwise or anti-clockwise giving me my cloud effect. I use one image as the cloud base and another two to subtract from it giving me separate clouds.

Here are a few pictures to show you how I am progressing:-

This is the first image I took, this is a single cloud texture with no rotation





As you can see, not much definition.

Still a single texture but I increased the intensity (first two images played at *.5) and with horizontal rotation




Looks like we have some kind of cloud effect.

Now these are where I am up to now, 3 textures, the first horizontally rotated clockwise, the second horizontally rotated anti-clockwise and the third has vertical and horizontal rotation.







May not be the greatest cloud system yet, but I am liking the results so far. As ever you comments and input are welcome, don't be shy.

No comments:

Post a Comment