|
![](/i/fill.gif) |
"Tom Melly" <tom### [at] tomandlu co uk> wrote in message
news:3da54db2$1@news.povray.org...
<snip>
Here's a more complex (but not entirely succesful) example:
#version 3.5;
#include "colors.inc"
#include "functions.inc"
global_settings {
ambient_light 0
assumed_gamma 1.0
radiosity {
pretrace_start 0.08 // start pretrace at this size
pretrace_end 0.04 // end pretrace at this size
count 35 // higher -> higher quality (1..1600) [35]
nearest_count 5 // higher -> higher quality (1..10) [5]
error_bound 1.8 // higher -> smoother, less accurate [1.8]
recursion_limit 3 // how much interreflections are calculated
(1..5+) [3]
low_error_factor .5 // reduce error_bound during last pretrace
step
gray_threshold 0.8 // increase for weakening colors (0..1) [0]
minimum_reuse 0.015 // reuse of old radiosity samples [0.015]
brightness 1 // brightness of radiosity effects (0..1) [1]
adc_bailout 0.01/2
}
}
// ----------------------------------------
camera {
location <0.0, 5, -10.0>
look_at <0.0, 0.0, 0.0>
}
sky_sphere {
pigment {
wrinkles
color_map {
[0.0 rgb <0.6,0.7,1.0>]
[0.7 rgb <0.0,0.1,0.8>]
}
}
}
light_source {
<0, 0, 0> // light's position (translated below)
color rgb <1, 1, 1> // light's color
translate <-30, 30, -30>
}
// ----------------------------------------
#declare BaseRockTex =
texture{
pigment{granite scale 0.25 pigment_map{[0.0 Black][0.5 Gray10][1.0 Gray50]}}
finish{ambient 0 diffuse 0.8}
normal{
average
normal_map{
[dents 15 scale 1 ]
[granite 15 scale 1 turbulence 0.25]
[marble 15 scale 1 turbulence 0.5]
[crackle 15 scale 1 turbulence 0.5]
}
}
}
#declare SnowTex =
texture{
pigment{rgb <0.5,0.5,1>} //<0.9,0.9,1.9>}
finish{ambient 0.10 diffuse 0.85}
normal{
average 2
normal_map{
[dents 2 scale 1/25]
[bozo 1 scale 4 turbulence 0.75]
}
}
}
#declare RockTex =
texture{
marble rotate z*90 scale 10 turbulence 0.5
texture_map{
[0.9 BaseRockTex scale 0.01]
[0.9 bozo scale 10 texture_map{[0.5 BaseRockTex][0.5 SnowTex]}]
}
}
#declare MountTex =
texture{
slope y
texture_map{
[0.60 RockTex] // BaseRockTex scale 0.01] //[0.64 RockTex]
[0.62 SnowTex]
}
}
#declare MountMFFunc = function(x,y,z){f_ridged_mf(x,y,z, 0.9, 5, 10, 0.75, 5,
0)}
#declare MountFunc = function(x,y,z){y + MountMFFunc(x,0,z)*2}
#declare Mount =
isosurface{
function{MountFunc(x,y,z)}
contained_by{box{<-15,-5,-15>,<15,5,15>}}
accuracy 0.001
max_gradient 10 // 1 for ng
//scale 100
texture{MountTex}
scale 10
}
object{Mount}
Post a reply to this message
|
![](/i/fill.gif) |