Difference between revisions of "Povray"
From Ghoulwiki
Ghoulsblade (talk | contribs) (→explosion) |
Ghoulsblade (talk | contribs) |
||
Line 1: | Line 1: | ||
+ | |||
+ | === explosion generator === | ||
+ | * todo... | ||
=== skybox === | === skybox === | ||
* todo... | * todo... | ||
+ | * renderskybox.php <pre> | ||
+ | #!/usr/bin/php | ||
+ | <?php | ||
+ | /* | ||
+ | This script renders 6 sides of a skybox with povray. | ||
+ | Written in PHP, to execute "apt-get install php4-cli" | ||
+ | */ | ||
+ | // resolution in pixels, height=weight=size | ||
+ | $size = 256; // 32^x ?? | ||
+ | // $size = 128; | ||
+ | // $size = 256; | ||
+ | $infile = "skybox1.pov"; | ||
+ | $outfile_prefix = "ghoulskybox1"; | ||
+ | $outfile_postfix = ".png"; | ||
+ | |||
+ | $frame_name = array(); // ogre skybox naming sheme | ||
+ | $frame_name[0] = "_fr"; // front | ||
+ | $frame_name[1] = "_rt"; // right | ||
+ | $frame_name[2] = "_bk"; // back | ||
+ | $frame_name[3] = "_lf"; // left | ||
+ | $frame_name[4] = "_up"; // up | ||
+ | $frame_name[5] = "_dn"; // down | ||
+ | |||
+ | |||
+ | for ($i=0;$i<6;++$i) { | ||
+ | echo "rendering frame ".($i+1)."/6:\n"; | ||
+ | $outfile = $outfile_prefix . $frame_name[$i] . $outfile_postfix; | ||
+ | shell_exec("povray -I$infile -H$size -W$size +FN16 -D -O$outfile -K$i"); | ||
+ | //shell_exec("povray -I$infile -H$size -W$size +FT -D -O$outfile -K$i"); | ||
+ | //shell_exec("convert $outfile ".str_replace(".tga",".jpg",$outfile)); | ||
+ | } | ||
+ | echo "done.\n"; | ||
+ | |||
+ | /* | ||
+ | ogre sample space skybox named "Examples/SpaceSkyBox" | ||
+ | is stored in ogrenew/Samples/Media/materials/scripts/Example.material | ||
+ | and looks like this : | ||
+ | material Examples/SpaceSkyBox | ||
+ | { | ||
+ | technique | ||
+ | { | ||
+ | pass | ||
+ | { | ||
+ | lighting off | ||
+ | depth_write off | ||
+ | |||
+ | texture_unit | ||
+ | { | ||
+ | cubic_texture stevecube.jpg separateUV | ||
+ | tex_address_mode clamp | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | the stevecube.jpg adresses 6 images, which are zipped in ogrenew/Samples/Media/packs/skybox.zip | ||
+ | stevecube_UP.jpg | ||
+ | stevecube_FR.jpg | ||
+ | stevecube_DN.jpg | ||
+ | stevecube_BK.jpg | ||
+ | stevecube_LF.jpg | ||
+ | stevecube_RT.jpg | ||
+ | |||
+ | the povray camera for the skybox should be something like this | ||
+ | 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 | ||
+ | } | ||
+ | */ | ||
+ | ?> | ||
+ | </pre> | ||
+ | |||
+ | skybox1.pov | ||
+ | <pre> | ||
+ | // Persistence of Vision Raytracer Version 3.5 Scene Description File | ||
+ | //******************************************* | ||
+ | |||
+ | global_settings { | ||
+ | //max_trace_level 5 | ||
+ | } | ||
+ | |||
+ | #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 | ||
+ | } | ||
+ | </pre> | ||
=== explosion === | === explosion === | ||
− | + | [[Image:Pov_exp1.png]]<br> | |
− | |||
<pre> | <pre> | ||
// Persistence of Vision Raytracer Version 3.5 Scene Description File | // Persistence of Vision Raytracer Version 3.5 Scene Description File |
Revision as of 23:53, 18 May 2007
explosion generator
- todo...
skybox
- todo...
- renderskybox.php
skybox1.pov
// Persistence of Vision Raytracer Version 3.5 Scene Description File //******************************************* global_settings { //max_trace_level 5 } #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 }
explosion
// Persistence of Vision Raytracer Version 3.5 Scene Description File //******************************************* global_settings { max_trace_level 5 } #include "colors.inc" camera { location <-1.5, 30, -150> look_at <0, 25, 35> angle 35 } background { color rgb 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 translate 25*y hollow }