Quelques chats musiciens pour miauler sur les toits des petites loutres bien lêchées !
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: PovCatRay.pov // Vers: 3.5 // Desc: A cool cat and his gang // Date: 1999/12/04 // Updated: 2001/07/27 // Auth: Ingo Janssen #version 3.5; global_settings {assumed_gamma 1.0} #include "cattext.inc" // A basic hair creation macro #macro Obj_RndOn_Sphere(r_Big, PlaceObj, TraceObj, n, S) #local R1=seed(S); #local Counter = 0; #while (Counter != n) #local Angle = <rand(R1)*360, rand(R1)*360, rand(R1)*360>; #local OnSphere = vrotate(<0, r_Big, 0>, Angle); #local TObj = trace(TraceObj, <0, 0, 0>, OnSphere); #if (TObj.x !=0 | TObj.y !=0 | TObj.z !=0) object {PlaceObj translate <0, r_Big, 0> rotate Angle} #local Counter = Counter+1; #end #end #end light_source {<500, 500,-500> rgb 1} light_source {<200, 500, 500> rgb 0.5} light_source {<0, 0,-500> rgb 0.2 shadowless} light_source {<-500, 500,-500> rgb 0.1 shadowless} camera { location <0, -0.2,-8.0> look_at <0,-0.2, 0.0> angle 35 } #declare P= text { ttf "povlogo.ttf", "P", 2, 0 scale 0.8 translate <0.25, 0.05,-1> } #declare PP= pigment { object { P color rgb 0 color rgb 0.1 } warp {repeat x} warp {repeat y} } #declare Tor1Pos=transform {scale <0.9, 1, 1> translate <-0.9, 0.1, 0>} #declare Tor2Pos=transform {scale <0.8, 1, 1.5> scale 0.3 translate <1.7, 1.1, 0>} #declare Tor3Pos=transform {scale 0.3 scale <0.9, 1, 1> translate <1.7, 0.1, 0>} #declare Tor4Pos=transform {scale 0.3 scale <0.9, 1, 1> translate <1.7,-0.9, 0>} union { difference { plane {-z, 0 texture {pigment {checker pigment {rgb 0.7} pigment {PP}scale 0.25}}} sphere {0, 1.5 scale 0.93 scale <1, 1, 2> transform Tor1Pos pigment {rgb <0, 0, 0.4>}} sphere {0, 1.5 scale <1, 1, 2> transform Tor2Pos pigment {rgb <0.4, 0, 0>}} sphere {0, 1.5 scale <1, 1, 2> transform Tor3Pos pigment {rgb <1, 0.2, 0> }} sphere {0, 1.5 scale <1, 1, 2> transform Tor4Pos pigment {rgb <0, 0.4, 0>}} } torus {1.5, 0.1 scale 0.93 rotate <90, 0, 0> transform Tor1Pos} torus {1.5, 0.1 rotate <90, 0, 0> transform Tor2Pos} torus {1.5, 0.1 rotate <90, 0, 0> transform Tor3Pos} torus {1.5, 0.1 rotate <90, 0, 0> transform Tor4Pos} pigment {rgb 0.8} no_shadow } //========================== //=== Cat1 = unmodified cat. //========================== #include "coolcat.inc" object { Cat scale 0.93 rotate <-5,-25, 0> translate <-0.9,-0.10, 0> } //========================= //=== Cat2 //========================= #declare BaseTex= pigment { marble turbulence 0.4 scale 0.2 color_map { [0, rgb 0.5] [1, rgb 0.8] } } #declare CatTex= texture { pigment { pigment_pattern { spherical scale <4, 2, 1.8> translate <0,-0.3,-0.7> } pigment_map { [0.7, BaseTex] [0.8, rgb 0.3] } } } #declare HairTex=texture { pigment { marble rotate <0, 90, 0> turbulence 0.4 scale 0.2 color_map { [0, rgb 0.2] [1, rgb 0.05] } } finish {specular 0.2 roughness 0.08} } #declare Hair= difference { sphere {0, 1.1} sphere {0, 1.2 scale <0.5, 3, 1.5> rotate <0, 0, 40> translate <-0.3, 0,-1>} sphere {0, 1.2 scale <0.5, 3, 1.5> rotate <0, 0,-40> translate <0.3, 0,-1>} sphere {0, 1.3 translate <0,-1.37,-0.3>} sphere {0, 0.32 translate <0, 1, 0> rotate <0, 0, 45>} sphere {0, 0.32 translate <0, 1, 0> rotate <0, 0,-45>} scale <1, 1, 1.3> } #declare PupilPos = <-10, 0, 10>; #declare PupilDiam = 0.06; #include "coolcat.inc" object { Cat scale <0.8, 1, 1.5> scale 0.3 rotate <-10, 20, 0> translate <1.7, 1, 0> } #undef BaseTex #undef CatTex #undef HairTex #undef Hair #undef PupilPos #undef PupilDiam //============================== //=== Cat3 //============================== #declare CatTex= texture { pigment { spherical turbulence 0.3 scale 1.5 translate <0.2, 0.2,-1> color_map { [0.5, rgb 0.2] [0.8, rgb 0.8] } } } #declare HairTex= texture {pigment {rgb 0.8}} #declare HairPiece= difference { sphere {0, 1.1} sphere {0, 1.2 scale <0.5, 3, 1.5> rotate <0, 0, 40> translate <-0.3, 0,-1>} sphere {0 , 1.2 scale <0.5, 3, 1.5> rotate <0, 0,-40> translate <0.3, 0,-1>} sphere {0, 1.3 translate <0,-1.37,-0.3>} sphere {0, 0.32 translate <0, 1, 0> rotate <0, 0, 45>} sphere {0, 0.32 translate <0, 1, 0> rotate <0, 0,-45>} sphere {0, 1} scale <1, 1, 1.3> } #declare OneHair= sphere {0, 0.05 scale <1, 2, 1>} #declare Hair= union { Obj_RndOn_Sphere(1, OneHair, HairPiece, 1001, 7) } #declare PupilPos = <0, 0, 10>; #declare PupilDiam = 0.06; #include "coolcat.inc" object { Cat scale 0.3 rotate <0, 20, 0> translate <1.7, 0, 0> } #undef CatTex #undef HairTex #undef HairPiece #undef OneHair #undef Hair #undef PupilPos #undef PupilDiam //================================= //=== Cat4 //================================= #declare CatTex = texture { pigment { leopard turbulence 0.3 scale 0.09 color_map { [0, rgb 0.4] [1, rgb 0.9] } } } #declare HairTex= texture {pigment {rgb 0.1}} #declare HairPiece= intersection { difference { union { sphere {0, 1 scale <0.2, 1, 1> translate <0, 1, 0.1>} sphere {0, 1 scale <0.1, 1, 1> translate <-0.3, 1, 0.2>} sphere {0, 1 scale <0.1, 1, 1> translate <0.3, 1, 0.2>} sphere {0, 1 scale <2, 0.5, 0.2> translate <-0.5,-0.3,-0.20>} } sphere {0, 1} } sphere {0, 1.001} } #declare OneHair= mesh {triangle {<-0.005, 0, 0>, <0, 0.2, 0>, <0.005, 0, 0>} pigment {rgb 1}} #declare Hair= union { Obj_RndOn_Sphere(1, OneHair, HairPiece, 5000, 7) } #declare PupilPos = <10, 0, 10>; #declare PupilDiam = 0.08; #declare L_EarTip = <-20, 0,-30>; #include "coolcat.inc" object { Cat scale <0.8, 1, 1.5> scale 0.3 rotate <10, 23, 0> translate <1.7,-1, 0> } #undef CatTex #undef HairTex #undef HairPiece #undef OneHair #undef Hair #undef PupilPos #undef PupilDiam #undef L_EarTip //================================ //===Text //================================ object { RayText no_shadow scale (1/346)*2.6 rotate <0, 0, 15> translate <-0.7,-1.35,-0.3> } object { AndText no_shadow scale (1/51)*0.7 scale <1, 1, 0.2> translate <0.5,-1.35,-0.28> } object { TBTrioText no_shadow scale (1/537)*2 translate <1.1,-1.65,-0.3> }Et voici ce que nous obtenons :

| ||||