|
|
// Benoit Mandelbrot meets Gaston Julia - "Creatures out of the dark"
// (c) 2000 Claudius Klein
// Sorry, I recently changed some values concerning the position and size
// of the fire and can't remember what it was before - so this will render
// NOT exactly the same image as previously posted.
#include "colors.inc"
#version unofficial MegaPov 0.5;
global_settings {
assumed_gamma 1.0 max_trace_level 20
post_process { soft_glow {1,16} }
}
camera {
right x*image_width/image_height up y
location <0,0,-2> look_at <0,0,0>
}
light_source { <-2,-2,-0.1> White fade_distance 2 fade_power 2 }
light_source { < 2,2,0.1> White fade_distance 2 fade_power 2 }
#declare CM_Mandel =
color_map {
[0.0 rgbt <0,0,1,1> ]
[0.1 rgbt <0,1,0,1> ]
[0.4 rgb <1,0,0> ]
[0.6 rgb <1,1,0> ]
[0.8 rgb <0,1,1> ]
[1.0 rgbt <0,0,1,1> ]
}
#declare Mandel =
plane { z,0
pigment {
mandel 256
color_map { CM_Mandel }
translate <1.37,0,0> scale 10
}
finish { ambient 1 diffuse 1 }
hollow
}
#declare Julia =
julia_fractal {
<-0.33,0.75,0,0> quaternion sqr max_iteration 8 precision 24
}
#declare TJulia =
texture {
pigment {
bozo turbulence 0.7 omega 0.7
color_map { [0.2 rgb <1,0,0>]
[0.5 rgb <0,1,0>]
[0.8 rgb <0,0,1>] }
}
finish { ambient 0 diffuse 0.1 specular 1 reflection 0.8 metallic blinn 1 }
}
// ================
#declare S = seed(30000);
#macro RandVec(var,S)
<-var/2+rand(S)*var,-var/2+rand(S)*var,-var/2+rand(S)*var>
#end
#declare FireGlowM =
material {
texture { pigment { rgbt 1 } }
interior {
media { emission Red+Orange
intervals 1 samples 3,3 method 3
density { spherical scale 0.9 omega 0.7 turbulence 0.48 }
}
}
}
#declare FireLight =
light_source { <0,0,0>
color Red+Orange
fade_distance 15 fade_power 2
media_interaction on media_attenuation on
}
#declare FireElement =
sphere { <0,0,0>, 1 material { FireGlowM } hollow scale <2,1,2> }
#declare Fire =
union {
object { FireElement rotate RandVec(360,S) translate RandVec(3,S) }
object { FireElement rotate RandVec(360,S) translate RandVec(3,S) }
object { FireElement rotate RandVec(360,S) translate RandVec(3,S) }
object { FireElement rotate RandVec(360,S) translate RandVec(3,S) }
object { FireLight }
}
// ===============
object { Julia
scale <0.5,0.5,0.5> rotate <0,0,-25> translate <0,0,0>
texture { TJulia }
}
object { Mandel rotate z*-90}
object { Fire translate <0.5,-3,3> scale 0.5 }
// END OF SESSION
Post a reply to this message
|
|