4.6.7 Script trace

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: trace_dem.pov
// Vers: 3.5
// Desc: Basic Scene Example using trace(). This scene is
// intended to be run as an animation.
// Date: 2001/08/13
// Auth: Ingo Janssen

// +w320 +h240 +a0.3 +kfi0 +kff24

#version 3.5;

#include "math.inc"

global_settings {assumed_gamma 1.0}

camera {
	location <0.0, 1.0,-12.0>
	look_at <0.0, 1.0, 0.0>
	angle 25
}

light_source {
	<500, 500,-500>
	color rgb <1, 1, 1>
}

#declare Ground = difference {
	union {
		box {<-1.5,-0.6,-0.001>, <1.5, 0, 0.1>}
		cylinder {<-1, 0,-0.003>, <-1, 0, 0.11>, 0.5}
		cylinder {<1, 0,-0.003>, <1, 0, 0.11>, 0.5}
	}
	cylinder {<0, 0,-0.003>, <0, 0, 0.11>, 0.5}
	no_shadow
	pigment {rgb 1}
}

object {Ground}
#declare Norm = <0, 0, 0>;
#declare From = <-1.499+(clock*2.99), 2, 0>;
#declare Intersect = trace(Ground, From, <0,-1, 0>, Norm);

union {
	sphere {From, 0.06}
	cylinder {From, Intersect+<0, 0.5, 0>, 0.025}
	cone {
		0, 0, <0, 0.5, 0>, 0.1
		translate Intersect
	}
	pigment {rgb <1, 1, 0>}
}

union {
	cylinder {Intersect, Intersect+(Norm/2), 0.025}
	cone {Intersect+(Norm)/2, 0.1, Intersect+Norm, 0}
	pigment {rgb <0, 1, 0>}
}

text {
	ttf
	"crystal.ttf",
	concat("Intersection: <", vstr(3, Intersect, ", ", 0, 2), ">")
	0.1,
	0
	scale 0.3
	translate <-2.5, 2.7, 0>
	pigment {rgb <1, 1, 0>}
}
text {
	ttf
	"crystal.ttf",
	concat("Normal: <", vstr(3, Norm, ", ", 0, 2), ">")
	0.1,
	0
	scale 0.3
	translate <-2.5, 2.3, 0>
	pigment {rgb <0, 1, 0>}
}

Et voici ce que nous obtenons :

Retour Retour