POV-Ray Buttons and Logos
Eric Bainville - Mar 2007Button colors
In the following code, I restored the ambient light, and added textures for the button and its contents. I also added a torus as outer ring of the button. I rendered them in 48x48 with anti-aliasing on. The highlighted button corresponds to the activation of the frontal light.

#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
global_settings {
assumed_gamma 1
ambient_light White // Ambient light is back!
}
camera {
orthographic
location <0,0,1000>
right 2*x up 2*y direction -z
// Uncomment to render a side view
// rotate 45*x
}
light_source { <-50,100,100>, White }
// Uncomment to highlight the button
//light_source { <0,0,100>, White*0.6 }
// Round button
#declare b_round = sphere {
<0,0,-1>,1
// Squash the sphere in Z
scale <1,1,0.2>
}
// Rounded square button
#declare b_rsquare = superellipsoid {
// Adjust first parameter: 1=circle, 0=square
<0.2,0.15>
translate -z scale <1,1,0.2>
}
// Hollow round button
#declare b_hround = difference {
sphere { <0,0,-0.1>,1 }
sphere { <0,0,1>,1 scale 1.4 }
scale <1,1,0.2>
}
// Right arrow
#declare c_rarrow = prism {
// Object extends in Z range 0..1
0, 1,
6, <-1,-1>,<-0.3,-1>,<1,0>,<-0.3,1>,<-1,1>,<0.3,0>
rotate 90*x
scale <0.6,0.6,1>
}
// Button finish
#declare f_button = finish {
ambient 0.1
diffuse 0.3
specular 0
phong 0.6 phong_size 20
}
// Content finish
#declare f_content = finish {
ambient 0.7
diffuse 0.3
specular 0
phong 0
}
// Outer ring and cylinder,
// cylinder is needed to block light when button is pushed down
#declare o_ring = merge {
difference {
cylinder { <0,0,0>,<0,0,-20>,1 }
cylinder { <0,0,1>,<0,0,-21>,0.8 }
}
torus { 0.9,0.1 rotate 90*x }
}
// Button and its contents
difference {
object { b_round
texture { pigment { color Green } finish { f_button } } }
object { c_rarrow translate <0.1,0,-0.1>
texture { pigment { color White } finish { f_content } } }
scale <0.8,0.8,1>
// Uncomment to render the down position
// translate -0.2*z
}
// Ring
object { o_ring
texture { Chrome_Metal }
translate -0.2*z // Align with Z center of round button
}
| POV-Ray Buttons/Logos : Content | Top of Page | POV-Ray Buttons/Logos : Sky reflections |
