// directives de compilation global_settings { max_trace_level 10 } # declare Ombres_Douces = true; # declare Super_Ombres = false; # declare Camera = 1; #include "table.inc" #include "echiquier.inc" // T E X T U R E #declare p1 =pigment { marble turbulence 1 color_map { [0 color rgb <0.000,0.024,0.392>] [0.5 color rgb <0.055,0.031,0.157>] [0.9 color rgb <0.063,0.016,0.271>] [1 color rgb <0.200,0.137,0.482>] } } #declare p2 =pigment { marble translate <23,43,54> turbulence 1.3 color_map { [0 color rgb <0.157,0.118,0.118>] [0.5 color rgb <0.282,0.173,0.173>] [0.9 color rgb <0.133,0.082,0.082>] [1 color rgb <0.055,0.000,0.000>] } } #declare p3 =pigment { marble translate <2,56,345> turbulence 0.7 color_map { [0 color rgb <0.890,0.682,0.843>] [0.5 color rgb <0.933,0.514,0.894>] [0.9 color rgb <0.776,0.427,0.745>] [1 color rgb <0.259,0.141,0.247>] } } #declare p4 =pigment { marble translate <2.6.32> turbulence 1.4 color_map { [0 color rgb <0.773,0.800,0.965>] [0.5 color rgb <0.647,0.671,0.808>] [0.9 color rgb <0.502,0.522,0.627>] [1 color rgb <0.106,0.110,0.133>] } } #declare TEST = texture { pigment { crackle solid pigment_map{ [0 p1] [0.40 p1] [0.40 p2] [0.5 p2] [0.5 p3] [0.60 p3] [0.60 p4] [1 p4] } } finish { phong 1 reflection {0.05, 0.6} ambient 0.4 conserve_energy } } #declare JOINT = texture { pigment { crackle color_map { [0 color rgbf <0.5,0.5,0.5,0>] [0.02 color rgbf <0.5,0.5,0.5,0>] [0.02 color rgbf <1,1,1,1>] [1 color rgbf <1,1,1,1>] } } } #declare T_Mur = texture { pigment {rgb <0.99,1,0.85>} normal { granite 0.1 } } #declare T_Plafond = texture { pigment {rgb 1} } // C A M E R A #switch (Camera) #case (1) //camera standard camera { location <0,23,-17> look_at <10,16,7> } #break #case (2) // gros plan échiquier camera { location <5,25,-4> look_at <7,16,7> } #break # case (3) // gros plan lampe camera { location <2,22, -4> look_at <-2,16,7> } #break #end // lumière temporaire light_source { //plafonnier <0,45,0> color rgb 1 fade_distance 25 fade_power 2 #if (Ombres_Douces = true) #if (Super_Ombres = true) area_light <2,0,0>,<0,0,2>,25,25 adaptive 2 #else area_light <2,0,0>,<0,0,2>,4,4 adaptive 2 #end circular orient jitter #end } // M U R S plane { y, 0 //sol texture {TEST scale 3} texture {JOINT scale 3} } plane { y, 50 //plafond texture {T_Plafond} } plane { x, 20 texture {T_Mur} } plane { x, -20 texture {T_Mur} } plane { z, 20 texture {T_Mur} } plane { z, -20 texture {T_Mur} } object {Cadre translate <-4,24,19.5> } // T A B L E et S C E N E P R I N C I P A L E #declare Echecetmat = union { // partie terminée object {Echiquier} object {N_Tour texture {T_Noir translate <1,2,3>} translate <0.5,0.5,3.5> } object {D_Tour //tour de protection texture {T_Blanc translate <1,4,3>} translate <0.5,0.5,5.5> } object {N_Roi texture {T_Blanc translate <3,2,6>} translate <0.5,0.5,6.5> } object {N_Pion texture {T_Blanc translate <4,5,2>} translate <1.5,0.5,5.5> } object {N_Pion texture {T_Blanc translate <9,5,2>} translate <1.5,0.5,6.5> } object {N_Pion texture {T_Blanc translate <4,8,2>} translate <1.5,0.5,7.5> } object {N_Pion texture {T_Noir translate <1,5,9>} translate <3.5,0.5,0.5> } object {N_Reine texture {T_Noir translate <3,4,6>} translate <4.5,0.5,7.5> } object {N_Reine texture {T_Blanc translate <3,7,2>} translate <5.5,0.5,4.5> } object {N_Pion texture {T_Noir translate <1,2,3>} translate <6.5,0.5,0.5> } object {O_Tour // tour bloquante rotate <0,-90,0> texture {T_Blanc translate <2,6,4>} translate <6.5,0.5,1.5> } object {N_Fou // mate texture {T_Blanc translate <4,6,3>} translate <6.5,0.5,6.5> } object {N_Tour texture {T_Noir translate <1,8,5>} rotate <0,-90,0> translate <7.5,0.5,0.5> } object {N_Cavalier texture {T_Noir translate <4,5,3>} translate <7.5,0.5,1.5> } object {N_Cavalier // caval bloquant texture {T_Blanc translate <3,5,9>} translate <7.5,0.5,5.5> } object {N_Roi // roi mat texture {T_Noir translate <3,6,2>} translate <7.5,0.5,7.5> } } object {Table translate <-5,0,0> } object {Echecetmat translate <-4,0,-4> rotate <0,85,0> translate <4,0,4> // rotation de 90 autour du CENTRE de l'échiquier translate <3,15.5,3> } object {Lampe translate <-2.5,15,5> } object {Pendule rotate 87*y translate <13,15,9> } // P I E C E S M A N Q U A N T E S object {N_Tour texture {T_Blanc translate <3,5,2>} translate <5,15,1.5> } object {N_Tour texture {T_Noir translate <1,7,4>} rotate <20,5,90> translate <11,0.4,15> //tombée } object {N_Fou texture {T_Blanc translate <3,8,3>} translate <8,15,1.2> } object {N_Fou texture {T_Noir translate <3,6,2>} translate <11,15,12.7> } object {N_Fou rotate 35*y texture {T_Noir translate <5,2,4>} translate <0.5,15,10.3> } object {N_Cavalier texture {T_Blanc translate <9,7,5>} translate <6.3,15,0.9> } object {N_Cavalier rotate 26*y texture {T_Noir translate <2,6,4>} translate <-0.2,15,9.7> } object {N_Pion texture {T_Blanc translate <2,5,4>} translate <3,15,1> } object {N_Pion texture {T_Blanc translate <3,2,7>} translate <7,15,1.7> } object {N_Pion texture {T_Blanc translate <6,9,2>} translate<14,15,1.8> } object {N_Pion texture {T_Blanc translate <6,4,6>} translate<12.7,15,0.9> } object {N_Pion texture {T_Blanc translate <6,9,2>} translate<15.2,15,1.3> } object {N_Pion texture {T_Noir translate <2,7,4>} rotate <0,0,100> rotate 24*y translate <-1,15.28,8.5> } object {N_Pion texture {T_Noir translate <4,3,2>} rotate <0,0,100> rotate -30*y translate <2,15.28,6.6> } object {N_Pion texture {T_Noir translate <2,1,3>} translate <1.2,15,7.3> } object {N_Pion texture {T_Noir translate <5,4,0>} translate <1.5,15,8.4> } object {N_Pion texture {T_Noir translate <2,1,8>} translate <0,15,7.8> } object {N_Pion texture {T_Noir translate <4,5,8>} translate <-1,15,6.6> } object {N_Pion texture {T_Noir translate <2,1,7>} rotate 100*z rotate 127*y translate <6,0.28,14> }