1 // terminatorX - realtime audio scratching software
2 // Copyright (C) 1999-2004 Alexander König <alex@lisas.de>
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 // This is a povray scene that renders a knob for the terminatorX user
26 #include "textures.inc"
28 global_settings { assumed_gamma 2.2 }
30 #declare chrome = texture { T_Chrome_2E }
31 #declare silver = texture { Silver_Metal }
33 #declare knob_height=2;
35 #declare black_plastic =
37 pigment { color rgb <0, 0, 0> }
38 finish {ambient 0.1 diffuse 0.8 phong 0.5 phong_size 100 }
41 #declare orange_plastic =
43 pigment { color rgb <1, 0.2, 0> }
44 finish {ambient 0.1 diffuse 0.8 phong 0.5 phong_size 100 }
47 #declare white_plastic =
49 pigment { color rgb <1, 1, 1> }
50 finish {ambient 0.1 diffuse 0.8 phong 0.5 phong_size 100 }
54 camera { orthographic location -z*3.3 look_at 0 }
56 camera { orthographic location -x*5 look_at 0 }
65 light_source { <-60, 80, -500> color Gray85}
66 light_source { <50, 10, -900> color Gray65}
74 cylinder {<0,0,0>,<0,0,-knob_height>,1}
82 <-w/2,-h/2,0>,<w/2,h/2,-knob_height>
95 cylinder {<0,0,0>,<0,0,-2*knob_height>,0.75}
102 cylinder {<0,0,0>,<0,0,-knob_height>,0.9}
103 cylinder {<0,0,-1>,<0,0,-knob_height-1>,0.75}
110 cylinder {<0,-1,-.7>,<0,1,-.7>,1.3}
118 translate <0,0,-knob_height*0.8>
124 cylinder {<0,0,0>,<0,0,-2*knob_height>,0.75}
130 <-0.1,0,0>,<0.1,1.1,-knob_height-.01>
131 texture {orange_plastic}
140 <0,0,0>,<0,0,-0.005>,1.5
144 <0, 0, 0>, 0 // Center and radius of one end
145 <0, -1.5, 0>, 0.85 // Center and radius of other end
148 texture {black_plastic}
152 #declare tiny_height=0.25;
153 #declare tiny_width=0.1;
155 #declare big_height=0.3;
156 #declare big_width=0.2;
161 #if((A=1) | (A=8) | (A=15))
162 <-big_width/2,-big_height/2,-0.01>,<big_width/2,big_height/2,-0.01>
164 <-tiny_width/2,-tiny_height/2,-0.01>,<tiny_width/2,tiny_height/2,-0.01>
167 rotate z*(A*20+20+180)
171 texture {white_plastic}