Welcome to mirror list, hosted at ThFree Co, Russian Federation.

mediasky.pov « templates_pov « render_povray - git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9347424e84dfc57f0b7a293d5245745f3a5eacaf (plain)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

// Persistence of Vision Raytracer Scene Description File
// File: mediasky.pov
// Author: Chris Huff
// Description: This file demonstrates the use of scattering media
// to create a sky with clouds. It attempts to simulate an actual
// atmosphere: there is an outer shell of media that scatters blue
// light, and an inner cloud shell that scatters white. The scattered
// light from the outer shell makes the sky appear blue, and the light
// that passes through is tinted orange by its passage, giving the
// clouds an orange color.
//
//  Updated: 2013/02/15 for 3.7
//
// -w320 -h180
// +w640 +h360 +a0.3
// use 16:9 aspect ratio
//
//*******************************************

#version 3.7;

#include "colors.inc"

global_settings {
  assumed_gamma 1.0
  max_trace_level 5
}

#declare CamPos = <-5, 1,-25>;

camera {
	location CamPos
	up y 
        right     x*image_width/image_height // keep propotions with any aspect ratio
	look_at < 0, 7.5, 0>
	angle 90
}

light_source {CamPos, color Gray30 media_interaction off}
//light_source {vrotate(z, <-1, 8, 0>)*500000, color rgb < 1, 0.8, 0.65>}

#declare SunPos = vrotate(z, <-12, 8, 0>)*1000000;
light_source {SunPos, color White*2}
sphere {SunPos, 75000
	texture {
		pigment {color White}
		finish {ambient 10 diffuse 0}
	}
	no_shadow
}


#declare PlanetSize = 50000;

//the ocean
sphere {< 0, 0, 0>, 1
	scale PlanetSize
	translate -y*PlanetSize
	hollow
	texture {
//		pigment {color rgb < 1, 1, 1>}
		pigment {color rgbf < 1, 1, 1, 1>}
		finish {
			ambient 0 diffuse 0.7
			reflection {0.5, 1
				fresnel//use the fresnel form of angle-dependant reflection
				metallic//use metallic reflection
			}
			conserve_energy
			metallic//use metallic highlights
		}
		normal {bumps bump_size 0.075 scale < 4, 1, 1>*0.025}
	}
	interior {
		ior 1.33//required for fresnel reflection
		media {
			method 3
			samples 2 intervals 1
			absorption color rgb < 0.75, 0.5, 0.25>*0.005
		}
	}
}
//the ocean floor
sphere {< 0, 0, 0>, 1
	scale PlanetSize - 100
	translate -y*PlanetSize
	texture {
		pigment {color rgb 1}
	}
}

#macro SkyShell(minAlt, maxAlt, Int)
    difference {
    	sphere {< 0, 0, 0>, 1 scale (PlanetSize + maxAlt)}
    	sphere {< 0, 0, 0>, 1 scale (PlanetSize + minAlt)}
    	hollow
	    texture {pigment {color rgbf 1}}
    	translate -y*PlanetSize
    	interior {Int}
    }
#end

//A much more realistic sky could be done using multiple layers
//of clouds to simulate clouds of different densities and with
//different altitudes. Of course, this would render a lot slower...

//the "cloud shell", creates clouds.
SkyShell(1000, 1300,
	interior {
		media {
			method 3 aa_threshold 0.1 aa_level 3
			samples 4 intervals 1
			scattering {2, color White*0.0075 extinction 1}
			density {wrinkles
				scale < 5, 2, 2>*200
				warp {turbulence 2}
				color_map {
					[0 color rgb 1]
					[0.5 color rgb 0.85]
					[0.55 color rgb 0.035]
					[1 color rgb 0.035]
				}
			}
		}
/*		media {
			method 3
			samples 2 intervals 1
			scattering {2, color White*0.0075*0.015 extinction 1}
		}*/
	}
)

//the "atmosphere shell", creates the blue sky and orange light.
SkyShell(1001, 2200,
	interior {
		media {
			method 3
			samples 2 intervals 1
			scattering {4, color rgb < 0.25, 0.6, 0.9>*0.00075 extinction 1}
		}
	}
)