4.1.32 Script object_pattern

Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !

// Persistence Of Vision Ray Tracer Scene Description File
// File: object_pattern.pov
// Vers: 3.5
// Desc: Demo scene showing the following new features:
//	- object pattern
//	- cylindrical warp
//	- new radiosity
// Date: August 2001
// Auth: Christoph Hormann

// -w320 -h240
// -w512 -h384 +a0.3

#version 3.5;

global_settings {
	assumed_gamma 1
	max_trace_level 5
	radiosity {
		pretrace_start 0.08
		pretrace_end 0.02
		count 50
		nearest_count 5
		error_bound 0.15
		recursion_limit 1
		low_error_factor .5
		gray_threshold 0.0
		minimum_reuse 0.015
		brightness 1
		adc_bailout 0.01/2
	}
}

camera {
	location <6, 3, 6>
	right (4/3)*x
	look_at <0, 0.5, 0>
	angle 36
}

light_source {
	<-3, 10, 18>
	color rgb <1.0, 0.9, 0.8>*2.4
}

sphere {
	<0, 0, 0>, 1
	texture {
		pigment {
			gradient y
			color_map {
				[0.0 color rgb <1.0, 1.0, 1.0>]
				[0.3 color rgb <0.6, 0.7, 1.0>]
			}
		}
		finish {diffuse 0 ambient 1}
	}
	hollow on
	no_shadow
	scale 30000
}

#declare Tex_1 =
texture {
	pigment {color rgb 0.6}
	finish {
		ambient 0.0
		diffuse 0.6
		specular 0.15
	}
}

plane {
	y, 0
	texture {Tex_1}
}

#declare Text_Obj =
text {
	ttf
	"timrom.ttf",
	" POV-Ray 3.5",
	12, 0.0
	scale 0.26
	translate -0.5
	rotate -90*z
	translate 0.5
	translate 0.8*y
}

#declare Tex_Metal_A =
texture {
	pigment {
		gradient y
		color_map {
			[0.35 color rgb <0.65, 0.2, 0.1>]
			[0.35 color rgb <0.15, 0.2, 0.4>]
		}
		scale 2
	}
	finish {
		ambient 0.0
		diffuse 0.2
		specular 0.4
		roughness 0.1
		metallic
		reflection {
			0.8
			metallic
		}
	}
	normal {
		granite 0.05
		warp {turbulence 1}
		scale 0.1
	}
}

#declare Tex_Column =
texture {
	object {
		Text_Obj
		texture {Tex_1},
		texture {Tex_Metal_A}
	}
	warp {cylindrical}
}

#declare Obj =
union {
	cylinder {0, 2.1*y, 0.2 texture {Tex_Column}}
	torus {0.2, 0.04 translate 0.04*y}
	torus {0.2, 0.04 translate 2.06*y}
	texture {Tex_1}
}

#macro Obj2(Angle, Flip)
	Obj
	rotate Angle*y
	#if (Flip)
		rotate 180*z
		translate 2.1*y
	#end
	rotate -90*x
	translate 0.24*y
#end

#macro Obj3(Angle)
	Obj
	rotate Angle*y
	rotate 90*x
	rotate 180*z
	scale <-1,-1, 1>
	translate 0.24*y
	translate -2.1*z
	scale 0.45
	translate -0.4*z
#end

#macro Obj4(Angle)
	Obj
	rotate Angle*y
	scale 0.8
	translate 1.2*x
#end

object {Obj}

object {Obj2(0, false) translate <0.5, 0, 1>}

object {Obj3(190) rotate 90*y translate <->1, 0, 0.9>}
object {Obj3(190) rotate 110*y translate <-1, 0, 0.9>}
object {Obj3(190) rotate 130*y translate <-1, 0, 0.9>}
object {Obj3(190) rotate 150*y translate <-1, 0, 0.9>}
object {Obj3(190) rotate 170*y translate <-1, 0, 0.9>}
object {Obj3(190) rotate 190*y translate <-1, 0, 0.9>}

object {Obj rotate -20*y scale 0.6 translate <-1, 0, 0.9>}

object {Obj2(20, true) rotate 110*y translate <-1.4, 0,-1.2>}

object {Obj2(20, true) scale 0.7 rotate 110*y translate <1.7, 0, 1.2>}

object {Obj4(260) rotate 20*y translate <0.6, 0,-0.5>}
object {Obj4(260) rotate 40*y translate <0.6, 0,-0.5>}
object {Obj4(260) rotate 60*y translate <0.6, 0,-0.5>}
object {Obj4(260) rotate 80*y translate <0.6, 0,-0.5>}
object {Obj4(260) rotate 100*y translate <0.6, 0,-0.5>}
object {Obj4(260) rotate 120*y translate <0.6, 0,-0.5>}

object {Obj2(-20, true) scale 0.42 rotate 160*y translate <1.5, 0,-0.4>}
object {Obj2(-20, true) scale 0.42 rotate 160*y translate <1.7, 0,-0.25>}
object {Obj2(-20, true) scale 0.42 rotate 160*y translate <1.9, 0,-0.1>}
object {Obj2(-20, true) scale 0.42 rotate 160*y translate <2.1, 0, 0.05>}

Et voici ce que nous obtenons :

Cliquez pour télécharger l'image bmp en 1024*768


Quand aux acteurs, dans l'ordre d'apparition, nous avons Text_Obj et Obj.

Retour Retour