|
![](/i/fill.gif) |
#version unofficial Megapov 0.5;
$FAST=0;
#if (FAST)
$FastBox=1;
#else
$FastBox=0;
#end
#include "rbox.inc"
global_settings{
assumed_gamma 1.0
ini_option "+qr"
radiosity{
pretrace_start 0.04
pretrace_end 2/300
count 400
recursion_limit 2
nearest_count 1
error_bound 0.2
}
}
#declare txt1=texture{
pigment{crackle solid color_map{[0 rgb 0.6][1 rgb 1]}}
normal{agate 0.4}
finish{ambient 0 diffuse 0.2 brilliance 1}
scale 0.3
}
#macro G(Color,g)
rgb<pow(Color.x,g),pow(Color.y,g),pow(Color.z,g)>
#end
camera
{
location <0.0, 6, -21.0>
direction 1*z
look_at <0, 1.0, 0>
}
$Gamma=2.2;
$SkyColor=G(<132,164,255>/255,Gamma); // @ 15000K rgb white=6500K
$SunColor=G(<255,235,197>/255,Gamma); // @ 5400K rgb white=6500K
$EnergyRatio=9; // sun/sky energy ratio
$EQ=1.18; // normalisation for sun-sky colors
sphere{
<0,0,0>,1
pigment{
image_map{tga "sky2.tga" map_type 1 interpolate 2}
}
finish{diffuse 0 ambient 1}
no_shadow
scale 1000
}
#declare ngr=16
#declare topr=0.7
#declare botr=0.85
#declare grbr=0.12
#declare grtr=grbr*topr/botr
#declare bw=2
#declare bh=0.3
#declare ht=8
#declare tw=18
#declare sh=1
#declare rht=3.5
#declare pylon=
union{
object{RBox(bw,bh,bw,0.1) translate bh/2*y}
object{RBox(bw,bh,bw,0.1) translate (ht-bh/2)*y}
cone{<0,bh,0>,bw/2,<0,bh+0.2,0>,botr}
cone{<0,-bh,0>,bw/2,<0,-bh-0.2,0>,topr translate ht*y}
#if (FAST)
cone{<0,0,0>,botr,<0,ht,0>,topr}
#else
difference{
cone{<0,0,0>,botr,<0,ht,0>,topr}
#declare i=0;#while (i<ngr)
cone{<botr+grbr/2,0,0>,grbr,<topr+grtr/2,ht,0>,grtr rotate i*360/ngr*y}
#declare i=i+1;#end
#declare i=0;#while (i<6)
torus{botr-(botr-topr)*(i/5)+grbr/2,grbr scale 0.5*y translate y*(i*ht/5)}
#declare i=i+1;#end
}
//bounded_by{box{<-1,0,-1>,<1,ht,1>}}
#end
texture{txt1}
}
background{SkyColor}
#declare Ground=
texture{
pigment{rgb<0.2,1,0.2>}
finish{diffuse 0.07 brilliance 1.4 ambient 0.0}
}
light_source{
<0,0,-1000>
color SunColor*EnergyRatio/EQ
area_light 10*x 10*y 8,8 adaptive 2 circular
rotate 30*x
rotate 65*y
}
#declare rd=seed(17);
#declare dis=35;
#declare i=1;
#while (i<10)
object{pylon translate<rand(rd)*15-7.5,0,rand(rd)*15-13>}
#declare i=i+1;
#end
box{<-100,-1,-200>,<100,0,50> texture{txt1}}
_______________________________________________________________________
Kari Kivisalo www.kivisalo.net
Post a reply to this message
|
![](/i/fill.gif) |