History: POVRay Skyboxes
Source of version: 3 (current)
Copy to clipboard
Just thought i'd share my povray scripts for some basic skyboxes (see also [http://ghoulsblade.schattenkind.net/wiki/index.php/Povray)].
Uncleaned and ugly code and few explanations, but time is short, sorry.
To render under linux run something like the following command (adjust $i)
* povray -Imyinfile.pov -H256 -W256 +FT -D32 -Omyoutfile_rt.tga -K$i
* myinfile.pov would contain the snippets listed below
* myoutfile_rt.tga would be a texture to generate for one side of the skybox
* +FT means something like "F": output to file, "T" : TGA format... see manpage for details
* -D32 would be the color depth if i remember correctly
* -K sets the "clock" used in the camera block to determine which side of the skybox to render
* replace $i with values ranging from 0-5 to render all sides, and adjust the outfile accordingly
* to follow the default ogre naming sheme, it think the following will help, but i'm not quite sure if its correct
* 0 = "_fr"; // front
* 1 = "_rt"; // right
* 2 = "_bk"; // back
* 3 = "_lf"; // left
* 4 = "_up"; // up
* 5 = "_dn"; // down
The skyboxes in the examples are best suited for space-scenes.
I suggest rendereing stars on them during runtime using RenderOp OT_POINT_LIST or with little billboards, to avoid compression artifacts, and to enable animation (e.g. blinking stars).
__Skybox1__ (bright red colours, maybe inside a nebulae):
{img src="img/wiki_up/Ghoulskybox1_fr.jpg" alt="Ghoulskybox1_fr.jpg"}
{CODE(wrap="1",colors="povray")}#include "colors.inc"
camera {
location <0,0,0>
angle 90
right <1,0,0> up <0,1,0>
// turn the cam based on the current frame=clock : [0-5]
#switch (clock)
#range (0,3)
// first 4 frames : turn from left to right
rotate (90*clock)*y
#break
#case (4)
// look at the sky
rotate -90*x
#break
#case (5)
// look at the ground
rotate 90*x
#break
#end // End of conditional part
}
background { color rgb <0,0,0> }
// light_source { <100, 100, -200> color White }
sphere { < 0, 0, 0>, 2
pigment { rgbt 1 } // surface of sphere is transparent
interior {
media {
emission 0.02
intervals 1
samples 25
method 3
density {
spherical
ramp_wave
translate 1.0*y // replace 1.0 = t by time for animation
warp { turbulence 1.5 }
translate -1.0*y // replace -1.0 = -t by time for animation
color_map {
[0.0 color rgb <0, 0, 0>]
[0.1 color rgb <1, 0, 0>]
[0.5 color rgb <1, 1, 0>]
[1.0 color rgb <1, 1, 0>]
}
}
}
}
scale 25
hollow
}{CODE}
__Skybox2__ (vast darkness and a few green nebulae):
{img src="img/wiki_up/Ghoulskybox2_fr.jpg" alt="Ghoulskybox2_fr.jpg"}
(see this [http://sfz.schattenkind.net/wiki/index.php/Image:S05_02.jpg|screen shot also with runtime stars]
{CODE(wrap="1",colors="povray")}#include "colors.inc"
camera {
location <0,0,0>
angle 90
right <1,0,0> up <0,1,0>
// turn the cam based on the current frame=clock : [0-5]
#switch (clock)
#range (0,3)
// first 4 frames : turn from left to right
rotate (90*clock)*y
#break
#case (4)
// look at the sky
rotate -90*x
#break
#case (5)
// look at the ground
rotate 90*x
#break
#end // End of conditional part
}
background { color rgb <0,0,0> }
// light_source { <100, 100, -200> color White }
/*
/usr/share/povray-3.5/include/stars.inc
sky_sphere {
pigment {
granite
color_map {
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.270 0.280 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
[ 0.280 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.470 0.480 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
[ 0.480 0.680 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.680 0.690 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
[ 0.690 0.880 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.880 0.890 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
[ 0.890 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
}
turbulence 1
sine_wave
scale .5
}
}
*/
sphere { < 0, 0, 0>, 2
pigment { rgbt 1 } // surface of sphere is transparent
interior {
media {
emission 0.02
intervals 1
samples 25
method 3
density {
spherical
ramp_wave
translate 1.0*y // replace 1.0 = t by time for animation
warp { turbulence 2.5 }
translate -1.0*y // replace -1.0 = -t by time for animation
color_map {
[0.0 color rgb <0, 0, 0> * 0.5]
[0.1 color rgb <0, 1, 0> * 0.5]
[0.5 color rgb <1, 1, 0> * 0.5]
[1.0 color rgb <1, 0, 0> * 0.5]
}
}
density {
spherical
ramp_wave
color_map {
[0.0 color rgb 1]
[0.2 color rgb 1]
[0.3 color rgb 0]
[1.0 color rgb 0]
}
}
}
}
scale 25
hollow
}{CODE}
* see also spacescape skybox maker : http://www.ogre3d.org/forums/viewtopic.php?f=11&t=56125#p380926