HOW-TO for terragen-like sky

after beeing bored to death i decided to fiddle around and try to get some terragen-like skies in realtime.

i’m quite close to it but not entirely finished.

what i have been doing so far:

  1. creating a noise-image of your choice.
  2. make a graycale copy of it, apply a threshold operation, so it becomes black/white
  3. (assuming white is opaque) invert the color of your copy from step2
  4. use the black/white image as transparency-channel for your image from step 1

now the trickier part:
assuming you’r using some sort of sky-dome. you should approximatly know where the sun-camera-line hits your skydome, and where this point is located on your image.

  1. apply a “zoom” blur to the image (NOT to the alpha-channel) with the blurcenter at the spot mentioned above. the closer the sun to the horizon, the more blur it. if the sun is above your head, dont blur at all or only very slightly.

  2. now tune the brightness, and contrast of the image (again, not the alpha channel) until you’r satisfied.

7.save the image so you can use it as skydome-texture (.png or so should be fine)

8.apply the texture as sky-dome, tune the material to show more “specular” effect. if possible turn of specularity on transparent parts of the texture (a shader should do awsome work here).

now just insert the thing into your scene, and have fun. ( in my case the scene was reflecting ground-plane and some horizont-gardient)

since i am , right now, not able to do this in panda (i cant write the approriate specular-shader myself) i did a small render in blender. enjoy:
(it’s imageshacked due to a proxy i’m behind these days. so pic might not be available for long)

ps: if someone would be to write a zoom-blur-shader this thing is fully realtime capable

Pretty! :smiley:

I thought you’re creating volumetric clouds.

hehe. not exactly volumetric. but if you increase the resolution of the cloud-texture alittle more, it still looks very nice (for beeing so flat)

Thanks! I’ll definitely try this in the future.