POV-Ray : Newsgroups : povray.binaries.scene-files : Physically correct radiosity : Physically correct radiosity Server Time
20 Apr 2024 04:15:58 EDT (-0400)
  Physically correct radiosity  
From: Kari Kivisalo
Date: 5 Sep 2000 21:18:00
Message: <39B59C6A.59AA5E52@kivisalo.net>
#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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.