4.9.21 Script pawns

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

// Persistence Of Vision raytracer version 3.5 sample file.
// "Pawns", a study in wood... three pawns on a chessboard
// File by Douglas Otwell

global_settings {assumed_gamma 1.8}

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

// Yellow pine, close grained
#declare Yellow_Pine = texture {
	pigment {
		wood
		turbulence 0.02
		color_map {
			[0.000, 0.222 color red 0.808 green 0.671 blue 0.251 filter 0.000
				color red 0.808 green 0.671 blue 0.251 filter 0.000]
			[0.222, 0.342 color red 0.808 green 0.671 blue 0.251 filter 0.000
				color red 0.600 green 0.349 blue 0.043 filter 0.000]
			[0.342, 0.393 color red 0.600 green 0.349 blue 0.043 filter 0.000
				color red 0.808 green 0.671 blue 0.251 filter 0.000]
			[0.393, 0.709 color red 0.808 green 0.671 blue 0.251 filter 0.000
				color red 0.808 green 0.671 blue 0.251 filter 0.000]
			[0.709, 0.821 color red 0.808 green 0.671 blue 0.251 filter 0.000
				color red 0.533 green 0.298 blue 0.027 filter 0.000]
			[0.821, 1 color red 0.533 green 0.298 blue 0.027 filter 0.000
				color red 0.808 green 0.671 blue 0.251 filter 0.000]
		}
		scale 0.1
		translate 10*x
	}
}

// Yellow_Pine layer 2
texture {
	pigment {
		wood
		turbulence 0.01
		color_map {
			[0.000, 0.120 color red 1.000 green 1.000 blue 1.000 filter 1.000
				color red 0.702 green 0.412 blue 0.118 filter 0.608]
			[0.120, 0.231 color red 0.702 green 0.412 blue 0.118 filter 0.608
				color red 0.702 green 0.467 blue 0.118 filter 0.608]
			[0.231, 0.496 color red 0.702 green 0.467 blue 0.118 filter 0.608
				color red 1.000 green 1.000 blue 1.000 filter 1.000]
			[0.496, 0.701 color red 1.000 green 1.000 blue 1.000 filter 1.000
				color red 1.000 green 1.000 blue 1.000 filter 1.000]
			[0.701, 0.829 color red 1.000 green 1.000 blue 1.000 filter 1.000
				color red 0.702 green 0.467 blue 0.118 filter 0.608]
			[0.829, 1 color red 0.702 green 0.467 blue 0.118 filter 0.608
				color red 1.000 green 1.000 blue 1.000 filter 1.000]
		}
		scale 0.5
		translate 10*x
	}
}

// Rosewood
#declare Rosewood = texture {
	pigment {
		bozo
		turbulence 0.04
		color_map {
			[0.000, 0.256 color red 0.204 green 0.110 blue 0.078 filter 0.000
				color red 0.231 green 0.125 blue 0.090 filter 0.000]
			[0.256, 0.393 color red 0.231 green 0.125 blue 0.090 filter 0.000
				color red 0.247 green 0.133 blue 0.090 filter 0.000]
			[0.393, 0.581 color red 0.247 green 0.133 blue 0.090 filter 0.000
				color red 0.204 green 0.110 blue 0.075 filter 0.000]
			[0.581, 0.726 color red 0.204 green 0.110 blue 0.075 filter 0.000
				color red 0.259 green 0.122 blue 0.102 filter 0.000]
			[0.726, 0.983 color red 0.259 green 0.122 blue 0.102 filter 0.000
				color red 0.231 green 0.125 blue 0.086 filter 0.000]
			[0.983, 1 color red 0.231 green 0.125 blue 0.086 filter 0.000
				color red 0.204 green 0.110 blue 0.078 filter 0.000]
		}
		scale <0.5, 0.5, 1>
		translate 10*x
	}
	finish {
		ambient 0.5
		diffuse 0.8
	}
}

// Rosewood layer 2
texture {
	pigment {
		wood
		turbulence 0.04
		color_map {
			[0.000, 0.139 color red 0.545 green 0.349 blue 0.247 filter 1.000
				color red 0.000 green 0.000 blue 0.000 filter 0.004]
			[0.139, 0.148 color red 0.000 green 0.000 blue 0.000 filter 0.004
				color red 0.000 green 0.000 blue 0.000 filter 0.004]
			[0.148, 0.287 color red 0.000 green 0.000 blue 0.000 filter 0.004
				color red 0.545 green 0.349 blue 0.247 filter 1.000]
			[0.287, 0.443 color red 0.545 green 0.349 blue 0.247 filter 1.000
				color red 0.545 green 0.349 blue 0.247 filter 1.000]
			[0.443, 0.626 color red 0.545 green 0.349 blue 0.247 filter 1.000
				color red 0.000 green 0.000 blue 0.000 filter 0.004]
			[0.626, 0.635 color red 0.000 green 0.000 blue 0.000 filter 0.004
				color red 0.000 green 0.000 blue 0.000 filter 0.004]
			[0.635, 0.843 color red 0.000 green 0.000 blue 0.000 filter 0.004
				color red 0.545 green 0.349 blue 0.247 filter 1.000]
			[0.843, 1 color red 0.545 green 0.349 blue 0.247 filter 1.000
				color red 0.545 green 0.349 blue 0.247 filter 1.000]
		}
		scale <0.5, 0.5, 1>
		translate <10, 0, 0>
	}
	finish {
		ambient 0.5
		diffuse 0.8
	}
}

// Sandalwood (makes a great burled maple, too)
#declare Sandalwood = texture {
	pigment {
		bozo
		turbulence 0.2
		color_map {
			[0.000, 0.171 color red 0.725 green 0.659 blue 0.455 filter 0.000
				color red 0.682 green 0.549 blue 0.420 filter 0.000]
			[0.171, 0.274 color red 0.682 green 0.549 blue 0.420 filter 0.000
				color red 0.557 green 0.451 blue 0.322 filter 0.000]
			[0.274, 0.393 color red 0.557 green 0.451 blue 0.322 filter 0.000
				color red 0.725 green 0.659 blue 0.455 filter 0.000]
			[0.393, 0.564 color red 0.725 green 0.659 blue 0.455 filter 0.000
				color red 0.682 green 0.549 blue 0.420 filter 0.000]
			[0.564, 0.701 color red 0.682 green 0.549 blue 0.420 filter 0.000
				color red 0.482 green 0.392 blue 0.278 filter 0.000]
			[0.701, 1 color red 0.482 green 0.392 blue 0.278 filter 0.000
				color red 0.725 green 0.659 blue 0.455 filter 0.000]
		}
		scale <0.2, 0.2, 1>
		scale 2
	}
}
// Sandalwood layer 2
texture {
	pigment {
		bozo
		turbulence 0.8
		color_map {
			[0.000, 0.087 color red 0.682 green 0.604 blue 0.380 filter 1.000
				color red 0.761 green 0.694 blue 0.600 filter 0.020]
			[0.087, 0.226 color red 0.761 green 0.694 blue 0.600 filter 0.020
				color red 0.635 green 0.553 blue 0.325 filter 1.000]
			[0.226, 0.348 color red 0.635 green 0.553 blue 0.325 filter 1.000
				color red 0.761 green 0.694 blue 0.600 filter 0.020]
			[0.348, 0.496 color red 0.761 green 0.694 blue 0.600 filter 0.020
				color red 0.682 green 0.604 blue 0.380 filter 1.000]
			[0.496, 0.565 color red 0.682 green 0.604 blue 0.380 filter 1.000
				color red 0.761 green 0.694 blue 0.600 filter 0.020]
			[0.565, 0.661 color red 0.761 green 0.694 blue 0.600 filter 0.020
				color red 0.682 green 0.604 blue 0.380 filter 1.000]
			[0.661, 0.835 color red 0.682 green 0.604 blue 0.380 filter 1.000
				color red 0.761 green 0.694 blue 0.600 filter 0.020]
			[0.835, 1 color red 0.761 green 0.694 blue 0.600 filter 0.020
				color red 0.682 green 0.604 blue 0.380 filter 1.000]
		}
		scale 0.2
		scale 2
	}
}

// Lights, Camera ...
camera {
	location <-8.0, 4.0,-14.0>
	direction <0.0, 0.0, 2.0>
	up <0.0, 1.0, 0.0>
	right <4/3, 0.0, 0.0>
	look_at <-2.0, 0.0,-4.0>
}

light_source {<100.0, 400.0,-600.0> color White}

// a back-light to create a highlight on the board
light_source {<12.0, 4.0, 12.0> color White}

// We'll build our chessboard out of one big pine block and 32
// little rosewood ones
#declare Fours = union {
	object {UnitBox
		texture {
			Rosewood
			finish {
				phong 0.3
				ambient 0.5
				diffuse 0.7
				reflection 0.3
			}
		}
		translate <-1,-1, 1>
	}
	object {UnitBox
		texture {
			Rosewood
			finish {
				phong 0.3
				ambient 0.5
				diffuse 0.7
				reflection 0.3
			}
		}
		translate <1,-1,-1>
	}
}

#declare Eights = union {
	object {Fours
		translate <-2, 0, 2>
	}
	object {Fours
		translate <2, 0, 2>
	}
	object {Fours
		translate <-2, 0,-2>
	}
	object {Fours
		translate <2, 0,-2>
	}
}

// Add another wood texture around the edges
#declare rail = intersection {
	object {UnitBox
		scale <10, 0.25, 1>
	}
	plane {-x, 0
		rotate 45*y
		translate -9*x
	}
	plane {x, 0
		rotate -45*y
		translate 9*x
	}
	translate <0,-0.25,-9>
	texture {
		Sandalwood
		finish {phong 0.4}
	}
}

// Chessboard
#declare Chessboard = union {
	object {Eights
		translate <-4, 0, 4>
	}
	object {Eights
		translate <4, 0, 4>
	}
	object {Eights
		translate <-4, 0,-4>
	}
	object {Eights
		translate <4, 0,-4>
	}
	object {UnitBox
		scale <8, 0.25, 8>
		translate -0.25*y
	}
	object {rail rotate 0*y}
	object {rail rotate 90*y}
	object {rail rotate 180*y}
	object {rail rotate 270*y}
	texture {
		Yellow_Pine
		finish {
			phong 0.5
			reflection 0.3
		}
		scale 2
	}
}

// Pawn
#declare pawn = union {
	difference {
		object {Disk_Y scale <8, 12.7468, 8>}
		quartic {
			<1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0,-738.0,
			0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
			1.0, 0.0, 0.0, 2.0, 0.0, 162.0, 0.0, 0.0, 0.0, 0.0,
			1.0, 0.0,-738.0, 0.0, 6561.0>
			sturm
		}
	}
	quartic {
			<1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0,-132.5,
		0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
		1.0, 0.0, 0.0, 2.0, 0.0, 123.5, 0.0, 0.0, 0.0, 0.0,
		1.0, 0.0,-132.5, 0.0, 3813.0625>
		sturm
		translate -11.2468*y
	}
	quartic {
			<1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0,-132.5,
		0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
		1.0, 0.0, 0.0, 2.0, 0.0, 123.5, 0.0, 0.0, 0.0, 0.0,
		1.0, 0.0,-132.5, 0.0, 3813.0625>
		sturm
		translate 11.2468*y
	}
	// Base
	intersection {
		object {Disk_Y
			scale <12, 3, 12>
			translate -15.7468*y
		}
		object {QCone_Y
			translate -2*y
		}
	}
	// Ball on top
	sphere {<0, 17.7468, 0>, 7}
	bounded_by {object {Disk_Y scale <14, 26, 14>}}
	translate 18.7468*y
	scale 0.06
}

// Now let's put the pieces together
object {Chessboard}

// Pawn 1
object {pawn
	texture {
		Yellow_Pine
		finish {phong 0.8}
	}
	rotate 60*y
	translate <-5, 0,-7>
}

// Pawn 2
object {pawn
	texture {
		Yellow_Pine
		finish {phong 0.8}
	}
	rotate 30*y
	translate <1, 0,-1>
}

// Pawn 3
object {pawn
	texture {
		Rosewood
		finish {
			phong 1.0
			ambient 0.5
			diffuse 0.7
		}
	}
	rotate 30*y
	translate <0.72,-0.24, 0>
	rotate 96.2052*z
	translate <1, 0,-5>
}

// a background glow to add interest
sphere {<0, 0, 0>, 1000
	inverse
	hollow on
	pigment {
		gradient y
		color_map {
			[0.0 0.25 color Goldenrod color Goldenrod]
			[0.25 0.46 color Goldenrod color Black]
			[0.46 1.001 color Black color Black]
		}
		scale 2000
		translate -1000*y
	}
}

Et voici ce que nous obtenons :

Quand aux acteurs, dans l'ordre d'apparition, nous avons Fours, Eights, rail, Chessboard, Pawn.

Retour Retour