File: arealit3.pov

package info (click to toggle)
povray 1%3A3.7.0.10-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 147,232 kB
  • sloc: cpp: 845,011; ansic: 122,118; sh: 34,204; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,389; cs: 879; awk: 590; perl: 245; xml: 95
file content (103 lines) | stat: -rw-r--r-- 2,288 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// This work is licensed under the Creative Commons Attribution 3.0 Unported License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
// or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
// California, 94041, USA.

// Persistence Of Vision raytracer sample file.
// Illustrates how adaptive level can affect soft shadows
//
// -w320 -h240
// -w800 -h600 +a0.3

// The shadow on the left uses "adaptive 0" and shows some major shadow
// artifacts causes by undersampling. As the adaptive level increases
// the shadow become much more accurate. Note: This is a worst-case
// example.

// Left   shadow - adaptive 0 (renders fastest)
// Middle shadow - adaptive 1
// Right  shadow - adaptive 2 (renders slowest)

#version 3.7;

global_settings {
  assumed_gamma 1
}

#include "colors.inc"
#include "textures.inc"

// A back wall to cast shadows onto
plane { -z, -20
    pigment { Black }
    finish { Dull }
}

#declare SpacingX = 20;
#declare Radius = 5;
#declare LightX = 15;
#declare LightY = 40;
#declare LightZ = -40;
#declare SRadius = 0;
#declare SFalloff = 11;

#declare Object = difference {
    box { <-6, -6, 0>, <6, 6, 0.5> rotate 45*z }
    box { <-2.5, -2.5, -1>, <2.5, 2.5, 1> rotate 45*z }
    pigment { Red }
    finish { Shiny }
}

object { Object translate -SpacingX*x }

light_source {
    <0, LightY, LightZ> color White
    area_light <15, 0, 0>, <0, 15, 0>, 17, 17
    adaptive 0
    jitter

    spotlight
    point_at <-SpacingX, 0, 0>
    tightness 0
    radius SRadius
    falloff SFalloff
}

object { Object translate 0*x }

light_source {
    <0, LightY, LightZ> color White
    area_light <15, 0, 0>, <0, 15, 0>, 17, 17
    adaptive 1
    jitter

    spotlight
    point_at <0, 0, 0>
    tightness 0
    radius SRadius
    falloff SFalloff
}

object { Object translate SpacingX*x }

light_source {
    <0, LightY, LightZ> color White
    area_light <15, 0, 0>, <0, 15, 0>, 17, 17
    adaptive 2
    jitter

    spotlight
    point_at <+SpacingX, 0, 0>
    tightness 0
    radius SRadius
    falloff SFalloff
}

light_source { <0, -15, -120> color Gray10 }

camera {
    location <0, -15, -120>
    right     x*image_width/image_height
    angle 35 // direction 2*z
    look_at <0, -15, 0>
}