Getting Fancy

Getting Fancy

I decided to get a little fancy with the logo and came up with the image in Figure 23-6 . I changed only the coloring and texture for each of the objects. I also added the front and back structures to complete the look. Here's the code to get you thinking about it.

Figure 23-6. Image of fancy 3D logo.

 // Persistence-of-Vision Ray-Tracer Scene Description File 
 // File: 3d_logo_2.pov 
 // Auth: Steve Murphy 
 
 // ==== Standard POV-Ray Includes ==== 
 #include "colors.inc" // Standard Color definitions 
 #include "glass.inc" // Glass finishes and textures 
 #include "textures.inc" 
 
 background { color White } 
 
 // camera { location <0, 20, 0> look_at <0, 0, 0> } // top 
 // camera { location <0, 0, -30> look_at <0, 0, 0> } // front 
 // camera { location <-20, 0, 0> look_at <0, 0, 0> } // left 
 camera { location <15, 15, -30> look_at <0, 0, 0> } // perspective 
 
 light_source { <0, 0, -40> color White } 
 light_source { <40, 0, 0> color White } 
 light_source { <-40, 0, 0> color White } 
 light_source { <0, 40, 0> color White } 
 light_source { <0, -40, 0> color White } 
 
 // larger box in the center 
 box { 
 <-3, -3, -3>, <3, 3, 3> 
 texture { Starfield } 
 } 
 
 // make a smaller box object 
 #declare myBox = box { 
 <-2, -2, -2>, <2, 2, 2> 
 texture { T_Ruby_Glass } 
 } 
 
 object { myBox translate <-4, 4, -4> } // tlf 
 object { myBox translate <-4, -4, -4> } // blf 
 object { myBox translate <-4, 4, 4> } // tlb 
 object { myBox translate <-4, -4, 4> } // blb 
 object { myBox translate <4, 4, -4> } // trf 
 object { myBox translate <4, -4, -4> } // brf 
 object { myBox translate <4, 4, 4> } // trb 
  object { myBox translate <4, -4, 4> } // brb  
   
  // make a cone object  
  #declare myCone = cone {  
  <0, -3, 0>, 4  
  <0, 2, 0>, 1  
  texture { Chrome_Texture }  
  }  
   
  object { myCone translate <0, 9, 0> } // top  
  object { myCone rotate <180, 0, 0> translate <0, -9, 0> } // bottom  
  object { myCone rotate <0, 0, 90> translate <-9, 0, 0> } // left  
  object { myCone rotate <0, 0, -90> translate <9, 0, 0> } // right  
  object { myCone rotate <-90, 0, 0> translate <0, 0, -9> } // front  
  object { myCone rotate <90, 0, 0> translate <0, 0, 9> } // back  
   
  // make a sphere object  
  #declare mySphere = sphere {  
  <0, 0, 0>, 2  
  texture { Lightening1 }  
  }  
   
  object { mySphere rotate <5, 6, 7> translate <0, 12, 0> } // top  
  object { mySphere rotate <10, -8, 20> translate <12, 0, 0> } // right  
  object { mySphere rotate <-19, 17, 22> translate <0, -12, 0> } // bottom  
  object { mySphere rotate <-29, 87, -87> translate <-12, 0, 0> } // left  
  object { mySphere rotate <12, 18, -91> translate <0, 0, -12> } // front  
  object { mySphere rotate <-19, -16, -14> translate <0, 0, 12> } // back  

So that's it for the 3D logo. Your introduction to 3D art is not complete by any means. There's a whole lot more to PovRay, and it's worth exploring on your own. PovRay isn't the only avenue for you to explore either. These days there are many new tools available to you.

 



Multitool Linux. Practical Uses for Open Source Software
Multitool Linux: Practical Uses for Open Source Software
ISBN: 0201734206
EAN: 2147483647
Year: 2002
Pages: 257

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net