Copyright (c) 2003 Nicolas P. Rougier
Released under the GNU General Public License
// Copyright (C) 2003 Nicolas P. Rougier (rougier@loria.fr)
// Ring & caustics
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// ---------------------------------------------------------------------------
// Persistence of Vision Ray Tracer Scene Description File
// File: ring.pov
// Vers: 3.5
// Desc: A ring with caustics
// Date: 12/2003
// Auth: Nicolas Rougier
// Cmd : povray +Iring.pov +w800 +h600 +fn +am2 +a0.01 +P
// ---------------------------------------------------------------------------
#version 3.5;
#include "colors.inc"
#include "shapes.inc"
#include "glass.inc"
// ========================================
// Notes
// ========================================
// ========================================
// Switches
// ========================================
#declare use_photon = 1;
#declare show_glass = 1;
// ========================================
// Settings
// ========================================
global_settings{
assumed_gamma 1.0
max_trace_level 25
#if (use_photon)
photons {
spacing .01
autostop 0
gather 0, 200
}
#end
radiosity {
pretrace_start 0.08
pretrace_end 0.01
count 600
error_bound .25
nearest_count 8
recursion_limit 1
gray_threshold 0
minimum_reuse 0.015
brightness 1.0
adc_bailout 0.01/2
}
}
// ========================================
// Camera
// ========================================
#include "screen.inc"
#declare EyePos = <0,30,-50>;
#declare EyeLook = <0,0,0>;
#declare EyeAngle = 40;
Set_Camera(EyePos, EyeLook, EyeAngle)
// ========================================
// Image information
// ========================================
#declare border_top = 36;
#declare border_bottom = 18;
#declare t_border = texture {pigment {rgb 0 transmit .75} finish {ambient 1 diffuse 0}}
#declare t_text = texture {pigment {rgb 1 } finish {ambient 1 diffuse 0}}
Screen_Plane (t_border, 0.01, <0, 1-border_top/image_height>, <1,1.01>)
Screen_Plane (t_border, 0.01, <0,-0.01>, <1, border_bottom/image_height>)
#declare _copyright = text {
ttf "arial.ttf", "Copyright (c) 2003 Nicolas Rougier", 0.1, <0,0>
scale 0.02 texture {t_text}
}
Screen_Object (_copyright, <1,0>, <0.005,0.005>, true, 0.01 )
#declare _povray = text {
ttf "arial.ttf", "Persistence Of Vision Raytracer", 0.1, <0,0>
scale 0.025 texture {t_text}
}
Screen_Object (_povray, <0,1>, <0.01,0.01>, true, 0.01 )
#declare _http = text {
ttf "arial.ttf", "http://www.povray.org", 0.1, <0,0>
scale 0.025 texture {t_text}
}
Screen_Object (_http, <1,1>, <0.01,0.01>, true, 0.01 )
#declare _version = text {
ttf "arial.ttf", "Official release 3.5c", 0.1, <0,0>
scale 0.02 texture {t_text}
}
Screen_Object (_version, <0,1>, <0.01,0.035>, true, 0.01 )
// ========================================
// Light
// ========================================
light_source {
100*y rgb <.75,1,1>*1.1
fade_distance 100 fade_power 2
area_light <100, 0, 0> <0, 0, 100> 20,20 adaptive 0 jitter circular orient
rotate -x*55
rotate -y*45
photons {reflection on area_light}
}
background {rgb 0.025}
// ========================================
// Floor
// ========================================
plane {
y,-2
pigment {rgb .7}
normal {bumps .02 scale .5}
finish {ambient 0 diffuse 1}
}
// ========================================
// The ring
// ========================================
union{
torus {11, 1 translate y}
torus {11, 1 translate -y}
cylinder {-y, y, 12 open}
cylinder {-y, y, 10 open}
pigment {rgb .1}
finish {
reflection .9
specular 3
roughness 0.0025
ambient 0
diffuse 1
}
photons {target reflection on}
}