1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: POV-Ray scene used to generate clip for splash
4 // Author: Wlodzimierz ABX Skiba
7 // Copyright: (c) Wlodzimierz Skiba
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
13 // Rendering options : +FT +W80 +H60 +AM1 +A0.05 +R5 +J0 +KFF500
14 // Produced TGA images converted to MPG with good old (1993) CMPEG tool
15 // Conversion : cmpeg.exe -v1 ipb.ctl frames.lst press.mpg
18 #include "rad_def.inc"
25 background { colour White }
27 #declare Texts = array[ 3 ];
29 #declare Texts[0] = "PRESS";
30 #declare Texts[1] = "ANY";
31 #declare Texts[2] = "KEY";
33 camera{ orthographic look_at .5 location .5-z right 1.05*x up 1.05*y }
35 #declare Items = dimension_size( Texts , 1 );
37 #declare Objects = array[ Items + 1 ];
39 #declare f_line = function(x,xa,ya,xb,yb){((yb-ya)/(xb-xa))*(x-xa)+ya};
42 #while ( Counter <= Items )
43 #if ( Counter < Items )
44 #declare Object = text{ ttf "crystal.ttf" Texts[ Counter ] 1 0 };
46 #declare Object = Objects[ Items ];
49 #declare M = max_extent( Object );
50 #declare m = min_extent( Object );
52 #declare Objects[ Counter ] = object{ Object translate -m + z*Counter scale <1/S.x,1/S.y,1> };
53 #declare Objects[ Items ] =
54 #if ( Counter = 0 | Counter = Items )
58 object{ Objects[ Items ] translate y*1.1 }
60 object{ Objects[ Counter ] }
64 #declare X0=(Counter+Pause)/(Items+2);
66 #declare X1=(Counter+1)/(Items+2);
68 #declare X2=(Counter+2-Pause)/(Items+2);
71 #declare C1=f_line(clock,0,0,3/4,1);
72 #declare C2=(Items+1)/(Items+2);
73 #declare C3=f_line(clock,1/4,0,1,1);
74 #declare C=max(min(C1,C2),C3);
76 #declare increase=f_line(C,X0,Y0,X1,Y1);
77 #declare decrease=f_line(C,X1,Y1,X2,Y2);
78 #declare change=min(increase,decrease);
79 #declare level=min(max(change,0),1);
83 pigment{ rgb level transmit 1-level }
85 #declare Counter = Counter + 1;