// Persistence of Vision Ray Tracer Scene Description File // File: .pov // Vers: 3.5 // Desc: Car Names: F15, Metanoic, Nekar, Ray, Shark // Date: 30 October 2001 // Auth: Nekar Xenos #include "metals.inc" #ifndef(Declares) #declare Declares=on; #end #if (Declares) #declare Anim = off; #declare Qual = on; // low quality: insert +q1 #declare Details = on; #declare Reflections = on; #declare Blur = off; #declare Normals = on; #declare Photons = off; #declare Radiosity = off; #declare HiRad = on; #declare showBody = on; #declare showWheels = on; #declare showWells = on; #declare showFins = on; #declare showTransparencies = on; #declare showCarLights = on; #declare HeadLightsOn=on; #declare showMirrors = on; #declare showWindows = on; #declare showHoles = on; #declare showInside = off; #end #if (Radiosity +Photons) #declare Qual = on; #declare Details = on; #declare Reflections = on; #declare Lighting = on; #declare showBody = on; #declare showWheels = on; #declare showWells = on; #declare showFins = on; #declare showTransparencies = on; #declare showCarLights = on; #declare showMirrors = on; #declare showWindows = on; #declare showHoles = on; #end #include "colors.inc" //#include "Views.inc" #macro CarF16 (Colour, Angle, Position, Turn, OpenLights, DarkWindows) #local Rnd = seed (1029); #local StrengthVal = 1.0; // (+ or -) strength of component's radiating density #local RadiusVal = 1.0; // (0 < RadiusVal) outer sphere of influence on other components #local Reflection = texture {pigment {color rgbft<0,0,0,0,1>}finish{reflection .2}} #if(OpenLights=0) #local HeadLightsOn=off; #local showCarLights = off; #end #if (Colour>11) #Colour = 9 #end #if (Colour = 1 ) // Cyan #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <0,.1,.5,0,0>} #if (Qual) normal {facets coords .005} finish{reflection {<.05,.05,.2>/2,<.05,.15,.2>falloff 3} specular 5 metallic on phong 1 ambient<.2,.05,.3>/3} #end } #local Metallic2 = texture { pigment{color rgbft <0,.4,.5,1,.5>} #if (Qual) finish{reflection .2 metallic off specular .2 phong .1 } #end } #end #if (Colour = 2 ) // Turquoise #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <0,.4,.4,0,0>} #if (Qual) normal {facets coords .005} finish{reflection .1 specular 1 metallic .5 phong 1 ambient<.01,.01,.3>/3} #end } #local Metallic2 = texture { pigment{color rgbft <0,.5,.5,1,.5>} #if (Qual) finish{reflection .2 metallic off specular .1 phong .1 } #end } #end #if (Colour = 3 ) // Electric Blue #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <.4,.3,.9,0,0>} #if (Qual) normal {facets coords .005} finish{reflection .1 specular 2 metallic on phong .1 ambient<.2,.3,.3>/3} #end } #local Metallic2 = texture { pigment{color rgbft <0.4,0.5,1,1,.5>} #if (Qual) finish{reflection .2 metallic off specular .5 phong .1 } #end } #end #if (Colour = 4 ) // Neon Cyan #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <0,.7,1,0,0>} #if (Qual) normal {facets coords .005} finish{reflection .1 specular 1 metallic on phong .1 ambient<.01,.1,.1>} #end } #local Metallic2 = texture { pigment{color rgbft <0.4,.8,1,1,.5>} #if (Qual) finish{reflection .2 metallic off specular .5 phong .1 } #end } #end #if (Colour = 5) // Magenta #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <.5,0,.1,0,0>} #if (Qual) finish{reflection <.5,0,.1>/3 specular 5 metallic on phong 1} normal {facets coords .005} #end } #local Metallic2 = texture { pigment{color rgbft <.5,0,.2,1,.5>} #if (Qual) finish{ reflection .2 specular .2 metallic off phong .1 } #end } #end #if (Colour = 6 ) // metallic White #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <.9,.9,1,0,0>} #if (Qual) normal {facets coords .005} finish{reflection <.1,.1,.2> specular 1 metallic .5 phong .1 ambient<.15,.15,.2>/3} #end } #local Metallic2 = texture { pigment{color rgbft <.99,.995,1,1,.5>} #if (Qual) finish{reflection .1 metallic off specular .5 phong .1 } #end } #end #if (Colour = 7 ) // metallic Black #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft 0} #if (Qual) normal {facets coords .005} finish{reflection .1 specular .5 metallic .5 phong .1 ambient 0} #end } #local Metallic2 = texture { pigment{color rgbft <0,0,0,1,.5>} #if (Qual) finish{reflection .1 metallic off specular .1 phong .1 } #end } #end #if (Colour = 8 ) // Red #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <.9,0,0,0,0>} finish{reflection .01 specular .1 phong .1 metallic on ambient <.3,.2,.1>} } #local Metallic2 = texture { pigment{color rgbft <1,0,0,1,.5>} #if (Qual) finish{reflection .2 metallic off specular .5 phong .1 } #end } #end #if (Colour = 9 ) // Neon Yellow #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <1,.99,0,0,0>} finish{reflection <.2,.2,.05> specular 1 phong 1 metallic on ambient <.2,.2,.01>} } #local Metallic2 = texture { pigment{color rgbft <1,1,.4,1,.5>} #if (Qual) finish{reflection .3 metallic off specular .5 phong .1 } #end } #end #if (Colour = 10) // Neon Magenta #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <1,0,.7,0,0>} #if (Qual) finish{reflection .2 specular 1 metallic on phong 1 ambient <.3,.1,.2>} normal {facets coords .005} #end //finish{reflection .1/*{<.1,.01,.05>,<.15,.05,.05> falloff 3}*/ specular 1 metallic on phong .2 ambient <.2,.1,.5>} } #local Metallic2 = texture { pigment{color rgbft <1,.5,1,1,.5>} #if (Qual) finish{ reflection .2 specular 1 metallic off phong .1 } #end } #end #if (Colour = 11 ) // Gold #if (Reflections)#local Metallic = on; #end #local Metallic1 = texture { pigment{color rgbft <.3,.2,.01,0,0>} #if (Qual) normal {facets coords .005} finish{reflection <.3,.2,.01>/3 specular 5 metallic on phong 1 } #end } #local Metallic2 = texture { pigment{color rgbft <.5,.4,0,1,.5>} #if (Qual) finish{reflection .2metallic off specular .3 phong .1 } #end } #end #ifndef (Metallic1) #local Metallic1 = texture { pigment{color rgb <.5,0,0>} #if (Reflections) finish{reflection {<.2,0,.1>,<.5,0,0> falloff 3} specular 1 metallic on phong .2 } #end } #end #ifndef (Metallic2) #local Metallic2 = texture { pigment{color rgbt <.5,0,.1,1>} #if (Reflections) finish{ reflection {<.2,.1,.2>,<.5,.2,.2> falloff 3} specular 1 metallic off phong .2 } #end } #end #ifndef (Metallic) // is texture metallic or not? #local Metallic = off; #end #if (!Qual) #local Metallic1 = texture { pigment{color rgbft <.1,.5,.9,0,0>} finish {reflection 0 specular .1 phong .1}} #end #local Logo = blob {threshold 1 sphere { 0,1.2, 10 scale z *.1} cylinder { <0,1.2,2>,<0,0,-2>,.3, (-15) scale y*1 } cylinder { <0,1.2,2>,<0,0,-2>,.3, (-15) scale y*1 rotate z*120} cylinder { <0,1.2,2>,<0,0,-2>,.3, (-15) scale y*1 rotate z*240} pigment {color rgb .5} #if (Reflections)finish{reflection 1 }#end scale <1,.5,1>/4} #local Inside = blob{ threshold .5 sphere { <0, 0, 0>, StrengthVal, RadiusVal scale <18,9,9.5> translate <2,-3,0> } // main body sphere { <0, 0, 0>, 4, -2 scale <18,9,9.5>/8 translate <2,3,0> } } #local Cylinder = cylinder {z,-z,1 scale z*5} #local TreadAngle = 0; #local Deg = 5 ; #local Cylinder = difference {cylinder {z,-z,1 scale<1.36,1.36,.12> } #while (TreadAngle <= 360) box{<-1,1,-1>,<1,0,1> scale <.02,1.5,1> rotate y*15 rotate z*TreadAngle} #local TreadAngle=TreadAngle+Deg; #end } #local Tread = union{ object{ Cylinder scale z*1 translate z*.6} object{ Cylinder scale z*-1 translate z*.5} object{ Cylinder scale z*1 translate z*.2} object{ Cylinder scale z*-1 translate z*-.2} object{ Cylinder scale z*1 translate z*-.5} object{ Cylinder scale z*-1 translate z*-.8} scale <.85,.85,.6>} #if ( Reflections) #local Alloy = material{texture {pigment {color rgbft <.95,.95,.95,0,0>} #if(Normals)normal{granite .01}#end finish{phong 1 specular 1 metallic off roughness 1 reflection .2 } } texture {pigment {color rgbft <.95,.95,.95,0,.5>} #if(Normals)normal{bumps 0}#end finish{phong .1 specular .1 metallic off roughness off reflection .2 } } } #else #local Alloy = material {texture{pigment {granite scale .01 color_map {[0 rgb .95][1 rgb .98]}} finish{phong 1 specular .2 metallic .5 roughness 5}}} #end #local HoleDisk1 = .32; #local HoleDisk2 = -7 ; #local Wheel =union {difference{ union{blob{ cylinder { z*1,z*-1,2 10 scale z *.5} cylinder { z*3,z*-3,3 (-5)} cylinder { z*2,z*-2,1 (-10)} } #if (Details) object {Tread} #end } cylinder {z,-z,.8 material {Alloy}} pigment {color rgb .07} finish {phong .1 specular.3 } } blob {threshold 1 cylinder { z*1,z*-1,1.2 10 scale z *.45} sphere { <0,0,-1>,1, -15} sphere { <0,0,1>,1, -20} cylinder { z*.5,-z*.5,HoleDisk1,HoleDisk2 scale <1.3,.8,1> translate y*.7 } cylinder { z*.5,-z*.5,HoleDisk1,HoleDisk2 scale <1.3,.8,1> translate y*.7 rotate z*120} cylinder { z*.5,-z*.5,HoleDisk1,HoleDisk2 scale <1.3,.8,1> translate y*.7 rotate z*240} cylinder { <0,2,2>,<0,0,-2>,HoleDisk1,HoleDisk2 scale <1.4,.9,1> } cylinder { <0,2,2>,<0,0,-2>,HoleDisk1,HoleDisk2 scale <1.4,.9,1> rotate z*120} cylinder { <0,2,2>,<0,0,-2>,HoleDisk1,HoleDisk2 scale <1.4,.9,1> rotate z*240} material{Alloy} } scale 1.2 } #local CarBody= difference { // Body blob{ threshold .5 sphere { <0, 0, 0>, 2, RadiusVal scale <20,9,9.5>/2 translate <3,-3,0> /*rotate z*5 scale y*1.2 */ } // main body sphere { <0, 0, 0>, 2, RadiusVal scale <8,1.8,6.1>/2 translate <5,-.5,0>} // allinone: rear wing bulge + rear bumper sphere { <0, 0, 0>, StrengthVal, RadiusVal scale <4,2,6> translate <7,-1,0>} // rear bottom bulge sphere { <0, 0, 0>, 2,-1 scale <8,9,15>/2 translate <11,-5,0>} //subtract sphere { <0, 0, 0>, 2,-1 scale <5,9,10>/2 rotate z*-30 translate <8,-7,0>} //subtract Rear sphere { <0, 0, 0>, StrengthVal,-1 scale <5,9,5> rotate z*-30 translate <10,-5,0>} //subtract Rear cylinder { x,-x, StrengthVal,-5 scale <.1,9,2.5> rotate z*-30 translate <5.7,-5,0>} //subtract Rear pressure outlet cylinder { z*20,-z*20, StrengthVal,-5 scale <.2,1.2,.05> translate <9.5,.8,0>} //subtract Rear Numberplate sphere { <0, 0, 0>, 2,-.3 scale <5,2,100>/2 rotate <0,0,10> translate <-3.5,2.5,0>} //subtract windscreen sphere { <0, 0, 0>, StrengthVal,-2 scale <20,2,2.6> rotate <0,0,35> translate <-9,-.8,-1.55>} //subtract top nose front sphere { <0, 0, 0>, StrengthVal,-2 scale <20,2,2.6> rotate <0,0,35> translate <-9,-.8,1.55>} //subtract sphere { <0, 0, 0>, 2,-1 scale <10,2,5>/2 rotate <0,0,30> translate <-6.5,1,-1.5>} //subtract top nose front sphere { <0, 0, 0>, 2,-1 scale <10,2,5>/2 rotate <0,0,30> translate <-6.5,1,1.5>} //subtract cylinder { -10*z,0*z, 2,-1 scale <1,100,3>/4 rotate <5,-13,-30> translate <-6.3,.5,0>} //subtract top nose tip - top cylinder { 10*z,0*z, 2,-1 scale <1,100,3>/4 rotate <-5, 13,-30> translate <-6.3,.5,0>} //subtract cylinder { -10*z,0*z, 1,-3 scale <2.2,1.5,3>/2 rotate <0,-15,0> translate <-7.8,-1.7,0>} //subtract top nose tip - front cylinder { 10*z,0*z, 1,-3 scale <2.2,1.5,3>/2 rotate <0, 15,0> translate <-7.8,-1.7,0>} //subtract cylinder { -10*z,0*z, 2,-.5 scale <1,1.6,3>/4 rotate <0,-35,0> translate <-8.15,-1.8,0>} //subtract top nose tip - front corners cylinder { 10*z,0*z, 2,-.5 scale <1,1.6,3>/4 rotate <0, 35,0> translate <-8.15,-1.8,0>} //subtract sphere { <0, 0, 0>, StrengthVal,-1 scale <2,5,5> rotate <0,-15,0> translate <-8,1,-2.5>} //subtract nose bottom sphere { <0, 0, 0>, StrengthVal,-1 scale <2,5,5> rotate <0,15,0> translate <-8,1,2.5>} //subtract sphere { <0, 0, 0>, 2, -.01 scale <5,2,1> rotate <0,0,0> translate <-5,-1,-2>} // Nose over wheels sphere { <0, 0, 0>, 2, -.01 scale <5,2,1> rotate <0,-0,0> translate <-5,-1,2>} sphere { <0, 0, 0>, StrengthVal*1.2, .5 scale <3,1.8,1.2>/1.2 rotate <0,15,0> translate <-3.1,-1,-2.8> translate y*-.2} // Nose over wheels sphere { <0, 0, 0>, StrengthVal*1.2, .5 scale <3,1.8,1.2>/1.2 rotate <0,-15,0> translate <-3.1,-1,2.8> translate y*-.2} sphere { <0, 0, 0>, 1.8, 1 scale <2,2.8,1.5>/1.7 rotate <5,10,0> translate <-3.1,-2.1,-3.6> translate <0,-.2,0>} //wheelwell-covers sphere { <0, 0, 0>, 1.8, 1 scale <2,2.8,1.5>/1.7 rotate <-5,-10,0> translate <-3.1,-2.1,3.6> translate <0,-.2,0>} sphere { <0, 0, 0>, .5, -1 scale <3.3,2.5,1>*2 translate <-3.8,-4,-3.9>} //wheelwell-covers sphere { <0, 0, 0>, .5, -1 scale <3.3,2.5,1>*2 translate <-3.8,-4,3.9>} sphere { <0, 0, 0>, .5, -1 scale <3.0,2.5,1>*3 translate <-3.8,-4,-3.9>} //wheelwell-covers sphere { <0, 0, 0>, .5, -1 scale <3.0,2.5,1>*3 translate <-3.8,-4,3.9>} sphere { <0, 0, 0>, StrengthVal, .1 scale <2,1,7> rotate z*10 scale y*1.2 translate <-5,-.6,0>} sphere { <0, 0, 0>, StrengthVal, 1.5 scale <3,.7,3> translate <-3.5,-1.8,0>} cylinder { y,-y,StrengthVal, -.5 scale <10,.1,.7> rotate z*5 translate <-10,-1.9,1.3>pigment{color rgb 0}} // front inlet cylinder { y,-y,StrengthVal, -.5 scale <10,.1,.7> rotate z*5 translate <-10,-1.9,-1.3>pigment{color rgb 0}} // front inlet sphere { <0, 0, 0>, StrengthVal, -.5 scale <2.5,3,10> rotate y*15 translate <-8.6,-2.2,2.5>} // front sphere { <0, 0, 0>, StrengthVal, -.5 scale <2.5,3,10> rotate y*-15 translate <-8.6,-2.2,-2.5>} // front sphere { <0, 0, 0>, StrengthVal, -1 scale <20,1,10> translate <0,-2.7,0>} // bottom sphere { <0, 0, 0>, StrengthVal, -1 scale <20,1.2,10> translate <0,-2.7,8>} // bottom sphere { <0, 0, 0>, StrengthVal, -1 scale <20,1.2,10> translate <0,-2.7,-8>} // bottom sphere { <0, 0, 0>, StrengthVal,-1 scale <8,19,2> translate <.5,-16.0,-5>} //subtract centre side sphere { <0, 0, 0>, StrengthVal,-1 scale <8,19,2> translate <.5,-16.0,5>} sphere { <0, 0, 0>, StrengthVal,-1 scale <8,19,2> /*rotate x*45*/ translate <-2.5,0.0,-5.5>} //subtract centre side sphere { <0, 0, 0>, StrengthVal,-1 scale <8,19,2> /* rotate x*-45*/ translate <-2.5,0,5.5>} sphere { 0/*y/2,-y/2*/, .5, 2 scale <4,2.5,3> translate <-2,-1,0> }// bottom curve behind front wheel-well cylinder{100*y,y*-100, 2,-2 scale <7,.045,3.1>/2 rotate <0,-7,5> translate<2.5,-2,-5.8>} // cutaway cylinder{100*y,y*-100, 2,-2 scale <7,.045,-3.1>/2 rotate <0,7,5> translate<2.5,-2,5.8>} // cutaway //>>>>>>>>>>> DOORS & PANELS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\\\\\\\\\\\\|||||||||||||||||||||// />>>>>>>>>>>>>>>>>>>>>>>>>>>>,<<<<<<<<<<<<<<<<<<<<<< #if (Details) //DOORS //////////////////////////////////// cylinder{y,-y, StrengthVal, -1 scale <.03, .43, 10> rotate z*-30 translate <1.2,-.68,0>} // rear bottom cylinder{y,-y, StrengthVal, -1 scale <.03, .45, 10> /*rotate z**/ translate <1.6,.83,0>} // rear cylinder{x,-x, StrengthVal, -1 scale <.70, .03, 10> rotate z*5 translate <-.21,-1.4,0>} //bottom #end ///_<_>_<_>_<_>_<_>/////// END OF DOORS & PANELS /////////////////////// >>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<, //<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> //------------------------------- /////////////Mirrors/////////////////////////////////// sphere {0,3,1 scale <.43,.19,.3> rotate <15,45,15> translate <-1.55,.5,-4.4> } // Mirror sphere {0,4,-1 scale <.15,2,.15>/2 rotate x*45 translate <-1.4,.1,-3.95> } //subtract sphere {0,3,1 scale <.43,.19,.3> rotate <-15,-45,15> translate <-1.55,.5,4.4> } // Mirror sphere {0,4,-1 scale <.15,2,.15>/2 rotate x*-45 translate <-1.4,.1,3.95> } //subtract } box { <.4,-.6,-1>,<0.8,1,0> translate <-1.8,.5,-3.7> pigment {color rgb .1} #if(showMirrors)finish {reflection .9}#end} // mirror box { <.4,-.6,1>,<0.8,1,0> translate <-1.8,.5,3.7> pigment {color rgb .1} #if(showMirrors)finish {reflection .9}#end} // mirror } #local CarFins= blob{ threshold .5 cylinder { (y*.2),(y*-.2), StrengthVal, RadiusVal scale <7,4,9> rotate z*15 scale <3,1,.95>translate <6,-1.1,0>} // scale <2,.9,.9> translate x*15 done cylinder { (y*.5),(y*-.5), StrengthVal, -10 scale <20,.6,1.7> translate <5,.765,0>} // tailfin sphere { 0, StrengthVal*2, -10 scale <20,.35,2.2>/2 translate <5,1.45,0>} // tailfin sphere { 0, StrengthVal*2, -10 scale <20,.35,2.2>/2 rotate x*-135 translate <7,-.05,-.6>} // tailfin sphere { 0, StrengthVal*2, -10 scale <20,.35,2.2>/2 rotate x*135 translate <7,-.05,.6>} // tailfin sphere { 0, StrengthVal, -.5 scale <20,.35,2.2> rotate z*45 translate <8,1.45,0>} // tailfin cylinder { (z*.5),(z*-.5), 2.5, -.5 scale <1,.6,3> translate <6.5,3.2,0>} // tailfin top *************** sphere { <0, 0, 0>, 20,-10 scale <15,5.5,7>/20 translate <-8,2,0>} //subtract curve cylinder { <0,.18,.5>,<0,-.18,-.5>, StrengthVal, -9 scale <5.5,1.55,.79> translate <2,-.1,-3.0> } // top + side inlet cylinder { <0,.18,-.5>,<0,-.18,.5>, StrengthVal, -9 scale <5.5,1.55,.79> translate <2,-.1,3.0> } // top + side inlet sphere { 0 StrengthVal, -9 scale <5.5,1.7,1.4> translate <2,-.3,-2.9> } // top + side inlet sphere { 0 StrengthVal, -9 scale <5.5,1.7,1.4> translate <2,-.3, 2.9> } // top + side inlet sphere { <0, 0, 0>, StrengthVal,-1 scale <5,15,15> rotate z*-15 translate <9,-7,0>} //subtract Rear sphere { <0, 0, 0>, StrengthVal,-1 scale <5,9,15> /*rotate z*-30*/ translate <10,-8,0>} //subtract Rear sphere { <0, 0, 0>, StrengthVal,-1 scale <10,15,15> translate <20,-7,0>} //subtract Rear excess sphere { <0, 0, 0>, 1.3, 1 scale <2.5,3,2>/1.3 translate <6.0,-2,-4>} //wheelwell-covers sphere { <0, 0, 0>, 1.3, 1 scale <2.5,3,2>/1.3 translate <6.0,-2,4>} sphere { <0, 0, 0>, 1, -1 scale <3.5,4,2> translate <7,-4,-4.3>} //wheelwell-covers sphere { <0, 0, 0>, 1, -1 scale <3.5,4,2> translate <7,-4,4.3>} sphere { <0, 0, 0>, .5, -.5 scale <3.5,4,4>*2 translate <7,-4.5,-4.3>} //wheelwell-covers sphere { <0, 0, 0>, .5, -.5 scale <3.5,4,4>*2 translate <7,-4.5,4.3>} cylinder{100*y,y*-100, 2,-2 scale <5,.045,4.5>/2 rotate <-20,-7,10> translate<10,-1.8,-5.8>} // cutaway cylinder{100*y,y*-100, 2,-2 scale <5,.045,-4.5>/2 rotate <20,7,10> translate<10,-1.8,5.8>} // cutaway } #local Window1 = difference{union{ intersection{blob{threshold 1 sphere { <0, 0, 0>,1,2 scale <15,1.7,9> rotate z*7 translate <-2,.5,0>} sphere { <0, 0, 0>,1,1 scale <4,3,20> translate <-2.5,3,0>} sphere { <0, 0, 0>,1,-1 scale <11,5,20> translate <-8,0,0>} //sphere { <0, 0, 0>,1,-1 scale <1,5,20> translate <3,-1,0>} // rear 'pillar' //sphere { <0, 0, 0>,2,1 scale <.5,2,8>/2 translate <3.5,2,0>} // behind rear 'pillar' sphere { <0, 0, 0>,2,1 scale <2.5,1.7,2.5>/2 translate <5,2,0>} // rear //sphere { <0, 0, 0>,1,-.8 scale <2.5,.5,10> rotate z*5 translate <2.5,1.5,0>} // roof //sphere { <0, 0, 0>,1,1 scale <3,.5,4> rotate z*4 translate <2,1.4,0>} // roof //sphere { <0, 0, 0>, 1, -1 scale <3,1.8,1.2> rotate <0,15,0> translate <-3.1,-1,-2.8>} // nose // //sphere { <0, 0, 0>, 1, -1 scale <3,1.8,1.2> rotate <0,-15,0> translate <-3.1,-1,2.8>} // //sphere { <0, 0, 0>, 1, -1 scale <2,2.8,1.5> rotate <5,10,0> translate <-3.1,-2.1,-3.6>} //wheelwell-covers // //sphere { <0, 0, 0>, 1, -1 scale <2,2.8,1.5> rotate <-5,-10,0> translate <-3.1,-2.1,3.6>} // //sphere { <0, 0, 0>, StrengthVal, -1 scale <2,1,7> rotate z*10 scale y*1.2 translate <-5,-.6,0>} // //sphere { <0, 0, 0>, StrengthVal, -1 scale <3,.7,3> translate <-3.5,-1.8,0>} // //sphere { <0, 0, 0>,1,-1 scale <4,1,20> translate <3,.1,0>} // wing sphere { <0, 0, 0>, 1, -1 scale <8,1.8,6.1> translate <5,-.5,0>} // allinone: rear wing bulge + rear bumper //cylinder { x*-10,x*10, 1, -1 scale<3,5,.3> rotate y*35 translate <-25,-1.15,18.5> }// front pillars //cylinder { x*-10,x*10, 1, -1 scale<3,5,.3> rotate y*-35 translate <-25,-1.15,-18.5>} // front pillars sphere { <0, 0, 0>, StrengthVal, -10 scale <3,1.8,.8>*1.05 rotate <0,15,0> translate <-3.5,-1,-3.0>} // nose sides sphere { <0, 0, 0>, StrengthVal, -10 scale <3,2,1.2>*1.05 rotate <0,10,0> translate <-3.6,-1,-2.8>} sphere { <0, 0, 0>, StrengthVal, -10 scale <3,1.8,.8>*1.05 rotate <0,-15,0> translate <-3.5,-1,3.0>} sphere { <0, 0, 0>, StrengthVal, -10 scale <3,2,1.2>*1.05 rotate <0,-10,0> translate <-3.6,-1,2.8>} } box {<-7,0,3.5>,<8,2,-3.5> } } box{<-3,-3,-2>,<1,5.1,2> scale 1.05 translate <2,-1,0> } // roof } object{CarBody translate y*-.005} box{<-.3,-2.5,-10>,<.3,5,10> translate <2,-1,0> } //rear pillar box{<-2.5,-2.5,-1.5>,<0,5,1.5> translate <2,-1,0> } // roof box { <-10,-.5,-.5>,<10,.5,.5> scale<3,5.1,.3> rotate y*35 translate <-25,-1.1,18.5> }// front pillars box { <-10,-.5,-.5>,<10,.5,.5> scale<3,5.1,.3> rotate y*-35 translate <-25,-1.1,-18.5> }// front pillars } #local Window = difference{ union{ intersection{blob{threshold 1 sphere { <0, 0, 0>,1,2 scale <15,1.7,9>*.99 rotate z*7 translate <-2,.51,0>} sphere { 0,1,-5 scale <1,10,10> translate x*9} sphere { <0, 0, 0>,1,1 scale <4,3,20>*.99 translate <-2.5,3,0>} sphere { <0, 0, 0>,1,-1 scale <11,5,20>*1.01 translate <-8,0,0>} //sphere { <0, 0, 0>,1,-1 scale <1,5,20>*1.05 translate <3,-1,0>} // rear 'pillar' //sphere { <0, 0, 0>,2,1 scale <.5,2,8>*.5*.99 translate <3.5,2,0>} // behind rear 'pillar' sphere { <0, 0, 0>,2,1 scale <2.5,1.7,2.5>*.5*.99 translate <5,2,0>} // rear //sphere { <0, 0, 0>,1,-.8 scale <2.5,.5,10>*1.03 rotate z*5 translate <2.5,1.5,0>} // roof //sphere { <0, 0, 0>,1,1 scale <3,.5,4>*.99 rotate z*4 translate <2,1.4,0>} // roof //sphere { <0, 0, 0>, 1, -1 scale <3,1.8,1.2>*1.03 rotate <0,15,0> translate <-3.1,-1,-2.8>} // nose // //sphere { <0, 0, 0>, 1, -1 scale <3,1.8,1.2>*1.03 rotate <0,-15,0> translate <-3.1,-1,2.8>} // //sphere { <0, 0, 0>, 1, -.5 scale <2,2.8,1.5>*1.03 rotate <5,10,0> translate <-3.1,-2.1,-3.6>} //wheelwell-covers // //sphere { <0, 0, 0>, 1, -.5 scale <2,2.8,1.5>*1.03 rotate <-5,-10,0> translate <-3.1,-2.1,3.6>} // sphere { <0, 0, 0>, StrengthVal, -1 scale <2,1,7>*.9 rotate z*10 scale y*1.2 translate <-5,-.6,0>} // //sphere { <0, 0, 0>, StrengthVal, -1 scale <3,.7,3> translate <-3.5,-1.8,0>} // //sphere { <0, 0, 0>,1,-1 scale <4,1,20>*1.03 translate <3,.1,0>} // wing sphere { <0, 0, 0>, 1, -1 scale <8,1.8,6.1>*1.03 translate <5,-.5,0>} // allinone: rear wing bulge + rear bumper //cylinder { x*-10,x*10, 1, -1 scale<3,5,.3>*1.05 rotate y*35 translate <-25,-1.15,18.5> }// front pillars //cylinder { x*-10,x*10, 1, -1 scale<3,5,.3>*1.05 rotate y*-35 translate <-25,-1.15,-18.5>} // front pillars sphere { <0, 0, 0>, StrengthVal, -10 scale <3,1.8,.8>*1.1 rotate <0,15,0> translate <-3.5,-1,-3.0>} // nose sides sphere { <0, 0, 0>, StrengthVal, -10 scale <3,2,1.2>*1.1 rotate <0,10,0> translate <-3.6,-1,-2.8>} sphere { <0, 0, 0>, StrengthVal, -10 scale <3,1.8,.8>*1.1 rotate <0,-15,0> translate <-3.5,-1,3.0>} sphere { <0, 0, 0>, StrengthVal, -10 scale <3,2,1.2>*1.1 rotate <0,-10,0> translate <-3.6,-1,2.8>} } box {<-7,0,3.5>,<8,2,-3.5>} } box{<-3,-3,-2>,<1,5.1,2> scale 1.05 translate <2,-1,0> } // roof } box{<-.3,-2.5,-10>,<.3,5,10> scale 1.05 translate <2,-1,0> } // rear pillar box{<-2.5,-2.5,-1.5>,<0,5,1.5> scale 1.05 translate <2,-1,0> } // roof box { <-10,-.5,-.5>,<10,.5,.5> scale<3,5.1,.3>*1.05 rotate y*35 translate <-25,-1.1,18.5> }// front pillars box { <-10,-.5,-.5>,<10,.5,.5> scale<3,5.1,.3>*1.05 rotate y*-35 translate <-25,-1.1,-18.5> }// front pillars } #local Rubber = difference { intersection{ object{CarBody} object {Window1} } object {Window} //object{CarBody translate y*-.1} } #local Window=difference{intersection{ object{CarBody} object{Window} } object{CarBody translate y*-.001} } #local LightBulb =union{ #if (HeadLightsOn) #if(Radiosity) // torus {MAJOR, MINOR} // (in the X-Z plane) // MAJOR = float value giving the major radius // MINOR = float specifying the minor radius // The major radius extends from the center of the hole // to the mid-line of the rim while the minor radius // is the radius of the cross-section of the rim. torus {0.3,0.05 pigment{colour rgb <9,7,1>*100}finish{ambient 100000} } #else light_source {0*x color rgb 1 // photon block for a light source photons { refraction on reflection on //area_light } } #end #end intersection {sphere {0, 1} difference{sphere {0.0, 1 scale <1.3,.8,.8> translate x*-.4 texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end } sphere {0.0, 1 scale <1.3,.8,.8>*.985 translate x*-.42 finish{specular 2 reflection 2} // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object reflection on } } } } intersection {sphere {0, 1 scale <1.3,.8,.8> translate x*-.42} difference{ sphere {0, 1 scale<1.3,.8,.8>*<1.23,1.01,1.01> } sphere {0, 1 scale <1.3*1.2,.8,.8> translate x*.02 /*#if(Normals) normal {hexagon scale <1,.2,.1> rotate z*90} #end */ } //texture {rLightOutOrange} } interior{ior 1.5} texture {pigment { color rgbt 1 } normal{ quilted 1 scale <2,.1,.8> translate z*-.4} finish{specular 2 reflection .2 } } // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object refraction on reflection on //collect off // ignore photons //pass_through // do not influence photons } } } #local FLightTrans = <-.4,-.15,0>; #local frontlights = blob{threshold 1 //sphere { <0, 0, 0>, StrengthVal, 20 scale <1,.3,.8> rotate x*10 translate <-6,-.7,-1.6>} // lights //sphere { <0, 0, 0>, StrengthVal, 20 scale <1,.3,.8> rotate x*-10 translate <-6,-.7,1.6>} // lights cylinder { -z,z, StrengthVal, 20 scale <2,.2,.4> rotate x*10 translate <-6,-.75,-1.6>} // lights cylinder { -z,z, StrengthVal, 20 scale <2,.3,.4> rotate x*-10 translate <-6,-.75,1.6>} // lights //sphere { <0, 0, 0>, StrengthVal, 1 scale <1,.2,.7> rotate x*10 translate <-6,-.8,-1.5>} // lights //sphere { <0, 0, 0>, StrengthVal, 1 scale <1,.2,.7> rotate x*-10 translate <-6,-.8,1.5>} // lights sphere { <0, 0, 0>, StrengthVal, -20 scale <2,.23,2.1> rotate x*60 translate <-6,-.45,-1.2>} // lights sphere { <0, 0, 0>, StrengthVal, -20 scale <2,.23,2.1> rotate x*-60 translate <-6,-.45,1.2>} // lights translate FLightTrans } #local frontlightDiff = blob{threshold 1 //sphere { <0, 0, 0>, StrengthVal, 20 scale <1,.3,.8> rotate x*10 translate <-6,-.7,-1.6>} // lights //sphere { <0, 0, 0>, StrengthVal, 20 scale <1,.3,.8> rotate x*-10 translate <-6,-.7,1.6>} // lights cylinder { -z,z, StrengthVal, 20 scale <2,.2,.4>*1.03 rotate x*10 translate <-6,-.75,-1.6>} // lights cylinder { -z,z, StrengthVal, 20 scale <2,.2,.4>*1.03 rotate x*-10 translate <-6,-.75,1.6>} // lights //sphere { <0, 0, 0>, StrengthVal, 1 scale <1,.2,.7>*1.05 rotate x*10 translate <-6,-.8,-1.5>} // lights //sphere { <0, 0, 0>, StrengthVal, 1 scale <1,.2,.7>*1.05 rotate x*-10 translate <-6,-.8,1.5>} // lights sphere { <0, 0, 0>, StrengthVal, -20 scale <2,.23,2.1>*.97 rotate x*60 translate <-6,-.45,-1.2>} // lights sphere { <0, 0, 0>, StrengthVal, -20 scale <2,.23,2.1>*.97 rotate x*-60 translate <-6,-.45,1.2>} // lights translate FLightTrans } /* #local Body= difference {object {CarBody} #if (showWindows + showHoles) object{Window1 pigment{ color rgbt 1}} #end object{frontlightDiff } plane {y, -2.0 pigment{color rgbft 0}} } */ #local fLightIn = texture {pigment { color rgbt <1,1,1,1>} /*normal {checker scale <.02,.002,.05>}*/ #if (Reflections)finish {reflection .2 specular 1}#end} #local fLightOut = texture {pigment { color rgbt <1,1,1,.9>} #if(Reflections) finish {reflection .2 specular .2}#end} #local FrontLights =difference{intersection{object {CarBody /*texture{fLightOut}*/} object{frontlights /*texture{fLightOut}*/} } object {CarBody translate y*-.01 /*texture{fLightIn}*/} /*interior {ior 1.31} finish{reflection {.2 fresnel}} */ } #local rLightOutRed = texture {pigment { color rgbft <1,0,0,.2,.2>} #if(Reflections) finish {reflection {.2 fresnel} specular .2}#end} #local rLightOutOrange = texture {pigment { color rgbft <1,.2,0,.2,.2>} #if(Reflections) finish {reflection {.2 fresnel} specular .2}#end} #local rLightOutWhite = texture {pigment { color rgbft <.7,.7,.7,.2,.2>} #if(Reflections) finish {reflection {.2 fresnel} specular .2}#end} #local RLightTrans = <.4,-.4,0>; #local RearLights = blob{threshold 1 sphere { <0, 0, 0>, StrengthVal, 2 scale <.3,1.5,1.8>*1.7 rotate <0,30,40> translate <8.5,.35,-3>} sphere { <0, 0, 0>, StrengthVal, 2 scale <.3,1.5,1.8>*1.7 rotate <0,-30,40> translate <8.5,.35,3>} sphere { 0, 1, -2 scale <20,.35,2.3> rotate x*-135 translate <8.5,0,-1>} // tailfin's side of light sphere { 0, 1, -2 scale <20,.35,2.3> rotate x*135 translate <8.5,0,1>} // //sphere { 0, .8, -1 scale <20,.35,2.2>/.8 translate <8.5,.5,-3.5>} // bumper's side of light //sphere { 0, .8, -1 scale <20,.35,2.2>/.8 translate <8.5,.5,3.5>} // //scale x*30 translate RLightTrans } /* #local Body= difference {object {CarBody} #if (showWindows + showHoles) object{Window1 pigment{ color rgbt 1}} #end object{frontlightDiff } object{RearLights finish{reflection 2 specular 1}} plane {y, -2.0 pigment{color rgbft 0}} } */ #local rearLights = difference{intersection{object{RearLights} object{CarBody} } object{CarBody translate x*-.02 #if(Normals) normal {hexagon scale <1,.2,.1> rotate z*90} #end} } #local RLightCylRed = union{ cylinder{ -x,x,.6 scale x*20 translate <2.5,.2,2.6> } cylinder{ -x,x,.6 scale x*20 translate <2.5,.2,-2.6> } //translate RLightTrans } #local RLightCylOrange = union{ cylinder{ -x,x,.9 scale x*20 translate <2.5,0,2.7> } cylinder{ -x,x,.9 scale x*20 translate <2.5,0,-2.7> } //translate RLightTrans } #local RearLightRed = intersection { object{rearLights} object {RLightCylRed} #if (Qual) interior {ior 1.31} //texture {rLightInRed} #end texture {rLightOutRed} } #local RearLightWhite = difference { object{rearLights} object{RLightCylOrange} #if (Qual) interior {ior 1.31} //texture {rLightInWhite} #end texture {rLightOutWhite} } #local RearLightOrange = difference { object{rearLights} object{RearLightWhite} object{RearLightRed} #if (Qual) interior {ior 1.31} //texture {rLightInOrange} #end texture {rLightOutOrange} } #local RearLights1= union { object{RearLightRed } object{RearLightWhite} object{RearLightOrange} //translate RLightTrans } #local Indicators = union{ /*#if (HeadLightsOn) #if(Radiosity) // torus {MAJOR, MINOR} // (in the X-Z plane) // MAJOR = float value giving the major radius // MINOR = float specifying the minor radius // The major radius extends from the center of the hole // to the mid-line of the rim while the minor radius // is the radius of the cross-section of the rim. torus {0.3,0.05 pigment{colour rgb <9,7,1>}finish{ambient 10000} } #else light_source {0*x color rgb 1 // photon block for a light source photons { refraction on reflection on //area_light } } #end #end */ intersection {sphere {0, 1} difference{sphere {0.0, 1 scale <1.3,.8,.8> translate x*-.4 texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end } sphere {0.0, 1 scale <1.3,.8,.8>*.985 translate x*-.42 finish{specular 2 reflection 2} // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object reflection on } } } } intersection {sphere {0, 1 scale <1.3,.8,.8> translate x*-.42} difference{ sphere {0, 1 scale<1.3,.8,.8>*<1.23,1.01,1.01> } sphere {0, 1 scale <1.3*1.2,.8,.8> translate x*.02 #if(Normals) normal {hexagon scale <1,.2,.1> rotate z*90} #end } texture {rLightOutOrange} } interior{ior 1.5} texture {pigment { color rgbt 1 } finish{specular 2 reflection .2 } } // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object refraction on reflection on //collect off // ignore photons //pass_through // do not influence photons } } } #local IndicatorSubtract = intersection { sphere {0.0, 1 scale <1.3,.8,.8> translate x*-.4 } sphere {0, 1 scale <1.3,.8,.8> translate x*-.42} texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end } #local CarFins = difference {object{CarFins} object{CarBody } plane {y, -2.0 pigment{color rgbft 0}} } #local Body= difference {object {CarBody} #if (showWindows + showHoles) object{Window1 pigment{ color rgbt 1}} #end object{frontlightDiff } object{RearLights scale x*.999 //<.999,1.001,1> translate x*-.1 pigment {color rgbft 0} #if (Reflections) finish{ reflection .2 } #end} plane {y, -2.0 pigment{color rgbft 0}} } #local Numberplate = union{ // create a superquadric ellipsoid shape // As the exponents approach 1.0, the edges get rounder superellipsoid { <.1, // east-west exponent (0.0 ... 1.0) .3> // north-south exponent (0.0 ... 1.0) scale <2.4,.009,.6> rotate x*90 //pigment{colour blue 1 } } superellipsoid { <.1, // east-west exponent (0.0 ... 1.0) .3> // north-south exponent (0.0 ... 1.0) scale <2.35,.01,.55> rotate x*90 pigment{colour rgb 1 } finish {reflection .1 specular .5} } // create a TrueType text shape text { ttf // font type (only TrueType format for now) "ARIALbd.ttf", // Microsoft Windows-format TrueType font file name "METANOIC", // the string to create .2, // the extrusion depth 0 // inter-character spacing scale x*.8 translate <-2,-.35,-.015> //pigment{colour blue 1 } } scale z*20 translate <0,.5,-.5> } #local frontNumberplate = union{ // border difference{ intersection{cylinder {-z,z,1 scale <2.4,.011,.6> rotate x*90 } superellipsoid { <.1, // east-west exponent (0.0 ... 1.0) .3> // north-south exponent (0.0 ... 1.0) scale <2.4,.1,.6> rotate x*90 //pigment{colour blue 1 } } } superellipsoid { <.1, // east-west exponent (0.0 ... 1.0) .3> // north-south exponent (0.0 ... 1.0) scale <2,1,.5> rotate x*90 pigment{colour rgb 1 } finish {reflection .1 specular .5} } } // white area difference{ intersection{cylinder {-z,z,1 scale <2.4,.011,.6> rotate x*90 } superellipsoid { <.1, // east-west exponent (0.0 ... 1.0) .3> // north-south exponent (0.0 ... 1.0) scale <2.3,.02,.5> rotate x*90 } } text { ttf // font type (only TrueType format for now) "ARIALbd.ttf", // Microsoft Windows-format TrueType font file name "METANOIC", // the string to create 1, // the extrusion depth 0 // inter-character spacing scale x*.8 translate <-2,-.35,-.015> //pigment{colour blue 1 } } pigment{colour rgb 1 } finish {reflection .1 specular .5} } // text intersection{cylinder {-z,z,1 scale <2.4,.0115,.6> rotate x*90 } text { ttf // font type (only TrueType format for now) "ARIALbd.ttf", // Microsoft Windows-format TrueType font file name "METANOIC", // the string to create .2, // the extrusion depth 0 // inter-character spacing scale x*.8 translate <-2,-.35,-.015> //pigment{colour blue 1 } } } scale z*70 translate z*.4 } #local LightCovers=difference{object{FrontLights texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end } box{<-10,-2,5>,<0,5,0>} // rotate: Translate to centre; rotate; translate back translate <3,4,1.7> rotate translate <-3,-4,-1.7> // end rotate translate <0,-.05,-.3>*OpenLights } /* #declare Qual = on; // low quality: insert +q1 #declare Details = off; #declare Reflections = on; #declare Blur = off ; #declare Radiosity = off; #declare HiRad = on; #declare Lighting = on; #declare showBody = on; #declare showWheels = off; #declare showWells = on; #declare showFins = on; #declare showTransparencies = off; #declare showCarLights = off; #declare showMirrors = off; #declare showWindows = off; #declare showHoles = on; #declare TempLight = on; #declare showInside = off; */ #local Car = union {difference {union{ #if(showBody) object {Body texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end} #end #if(showFins) object {CarFins texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end} #end #if(showWindows) object {Window #if(showTransparencies*!DarkWindows) pigment{color rgbft <.1,.2,.2,.2,.8>}#end finish {reflection {.1/*,.2 falloff 3*/ fresnel} specular .5} // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object refraction on reflection on //collect off // ignore photons //pass_through // do not influence photons } } #end #if(showHoles+showWindows)object {Rubber } #end // Light Covers object{LightCovers} object{LightCovers scale -z} //#if(showCarLights) object {RearLights1 // photon block for an object photons{ target 1.0 // spacing multiplier for photons hitting the object refraction on reflection on //collect off // ignore photons //pass_through // do not influence photons } // */ } #if(OpenLights) union{ object {LightBulb scale .25 translate <-5.1,-.7,-2>} object {LightBulb scale .25 translate <-5.1,-.7,2>} object {LightBulb scale .20 translate <-5.3,-.77,-1.5>} object {LightBulb scale .20 translate <-5.3,-.77,1.5>} translate FLightTrans } #end //#end scale x*1.1 }//} plane {y, -2.0 pigment{color rgbft 0}} #if(showWells+showHoles) cylinder { <-3.5,-1,1.5>, <-3.5,-1,5>, 1.3 pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} // front wheels cylinder { <-3.5,-1,-1.5>, <-3.5,-1,-5>, 1.3 pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} cylinder { <6.5,-1,1.7>, <6.5,-1,10>, 1.5 pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} // rear wheels cylinder { <6.5,-1,-1.7>, <6.5,-1,-10>, 1.5 pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} box { <-4.8,-1.1,1.5>, <-2.2,-2.4,5> pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} // front wheels box { <-4.8,-1.1,-1.5>, <-2.2,-2.4,-5> pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} box { <5.0,-1,1.7>, <8.0,-2.5,10> pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} // rear wheels box { <5.0,-1,-1.7>, <8.0,-2.5,-10> pigment {color rgbft 0} finish {reflection 0 phong .1 specular.3 }} #end object {IndicatorSubtract scale .1 translate <-6.7,-1.45,-2>} object {IndicatorSubtract scale .1 translate <-6.7,-1.45,2>} } object {Indicators scale .1 translate <-6.7,-1.45,-2.1>} object {Indicators scale .1 translate <-6.7,-1.45,2.1>} #if(showWheels) object {Wheel scale <.9,.9,-.7> rotate <0,Turn,0> translate <-3.5,-1.05,3.5>} // front object {Wheel scale <.9,.9,.7> rotate <0,Turn,0> translate <-3.5,-1.05,-3.5>} object {Wheel scale -z rotate <0,0,0> translate <6.5,-1,4.3>} // rear object {Wheel rotate <0,0,0> translate <6.5,-1,-4.3>} #end //#if(Details) // object{Logo scale .8 rotate <0,90,-51> translate <-7.3,-1.105,0>} //#end translate x*-2 /* texture{Metallic1} #if (Qual*Metallic) texture {Metallic2}//texture{Reflection} #end */ } //} #if (Details) // logo #local Norm = <0, 0, 0>; #local Start = <-9,-1.105,0>; #local Inter= trace ( Car, Start,<-8.5,-1.105,0>, Norm ); #if (vlength(Norm)!=0) #local Car = union{ object{Car} object{Logo scale .8 rotate <0,90,-51> translate Inter } } #end // Front Numberplate #local Norm = <0, 0, 0>; #local Start = <-9,-1.55,0>; #local Inter= trace ( Car, Start,<-8.5,-1.55,0>, Norm ); #if (vlength(Norm)!=0) #local Car = union{ object{Car} object{frontNumberplate scale .3 rotate <0,90,0> translate Inter } } #end // Rear numberplate #local Norm = <0, 0, 0>; #local Start = <10,0,0>; #local Inter= trace ( Car, Start,<-9,-1.105,0>, Norm ); #if (vlength(Norm)!=0) #local Car = union{ object{Car} object{Numberplate scale .3 rotate <0,-90,0> translate Inter } } #end #end // end if (Details) //#local Car= object{RearLights1} // test lights object{Car clipped_by{box{<-9.6,-2.3,6>,<10,2,-6>}} rotate Angle translate Position+(y*.2) } #end // end macro //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /* Colours: 1 Cyan 2 Turquoise 3 Electric Blue 4 Neon Cyan 5 Magenta 6 metallic White 7 metallic Black 8 Red 9 Neon Yellow 10 Neon Magenta 11 Gold 12 Old Gold */ // VIEWS: 1=front-left; 2=side; 3=front; 4=back; 5=top; 6=left-back; 7=front-right; 8= back-right; 9=two-cars; 10=all-views; 11=Ten Cars //REM Cars (Colour, Angle, Position, angle of front wheel) /* sample: Cars (9, y*-50 , <1.5,1.2,15>, 0) */