1
/////////////////////////////////////////////////////////////////////////////
3
// Purpose: POV-Ray scene used to generate clip for splash
4
// Author: Wlodzimierz ABX Skiba
7
// RCS-ID: $Id: press.pov 30787 2004-11-25 17:48:10Z ABX $
8
// Copyright: (c) Wlodzimierz Skiba
9
// Licence: wxWindows licence
10
/////////////////////////////////////////////////////////////////////////////
14
// Rendering options : +FT +W80 +H60 +AM1 +A0.05 +R5 +J0 +KFF500
15
// Produced TGA images converted to MPG with good old (1993) CMPEG tool
16
// Conversion : cmpeg.exe -v1 ipb.ctl frames.lst press.mpg
19
#include "rad_def.inc"
26
background { colour White }
28
#declare Texts = array[ 3 ];
30
#declare Texts[0] = "PRESS";
31
#declare Texts[1] = "ANY";
32
#declare Texts[2] = "KEY";
34
camera{ orthographic look_at .5 location .5-z right 1.05*x up 1.05*y }
36
#declare Items = dimension_size( Texts , 1 );
38
#declare Objects = array[ Items + 1 ];
40
#declare f_line = function(x,xa,ya,xb,yb){((yb-ya)/(xb-xa))*(x-xa)+ya};
43
#while ( Counter <= Items )
44
#if ( Counter < Items )
45
#declare Object = text{ ttf "crystal.ttf" Texts[ Counter ] 1 0 };
47
#declare Object = Objects[ Items ];
50
#declare M = max_extent( Object );
51
#declare m = min_extent( Object );
53
#declare Objects[ Counter ] = object{ Object translate -m + z*Counter scale <1/S.x,1/S.y,1> };
54
#declare Objects[ Items ] =
55
#if ( Counter = 0 | Counter = Items )
59
object{ Objects[ Items ] translate y*1.1 }
61
object{ Objects[ Counter ] }
65
#declare X0=(Counter+Pause)/(Items+2);
67
#declare X1=(Counter+1)/(Items+2);
69
#declare X2=(Counter+2-Pause)/(Items+2);
72
#declare C1=f_line(clock,0,0,3/4,1);
73
#declare C2=(Items+1)/(Items+2);
74
#declare C3=f_line(clock,1/4,0,1,1);
75
#declare C=max(min(C1,C2),C3);
77
#declare increase=f_line(C,X0,Y0,X1,Y1);
78
#declare decrease=f_line(C,X1,Y1,X2,Y2);
79
#declare change=min(increase,decrease);
80
#declare level=min(max(change,0),1);
84
pigment{ rgb level transmit 1-level }
86
#declare Counter = Counter + 1;