Rebake after latest changes.
[wxWidgets.git] / samples / splash / splash.pov
1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        splash.pov
3 // Purpose:     POV-Ray scene used to generate splash image for wxWidgets
4 // Author:      Wlodzimierz ABX Skiba
5 // Modified by:
6 // Created:     04/08/2004
7 // RCS-ID:      $Id$
8 // Copyright:   (c) Wlodzimierz Skiba
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11             
12 #version 3.6;
13
14 // Rendering options : +FN +W638 +H478 +AM1 +A0.05 +R5
15
16 #include "colors.inc"
17 #include "rad_def.inc"
18 #include "screen.inc"
19 #include "shapes.inc"
20
21 global_settings {
22     assumed_gamma 1.0
23     radiosity {}
24 }
25
26 #local Location = <0,5,-100> ;
27 Set_Camera_Location(Location)
28 Set_Camera_Look_At(<0,0,0>)
29
30 background { rgb White }
31
32 light_source { 1000*y color White }
33 light_source { Location color White }
34
35 union{
36   Center_Object( text { 
37     ttf
38     "crystal.ttf",
39     ".     wxWidgets      ."
40     .01, 0
41     scale 20 translate 22*y
42     pigment { color Black }
43   } , x )
44   Center_Object( text { 
45     ttf
46     "crystal.ttf",
47     ".     Cross-Platform GUI Library   ."
48     .01, 0
49     scale 10 translate 10*y
50     pigment { color Black }
51   } , x )
52   Center_Object( text { 
53     ttf
54     "crystal.ttf",
55     ".      wxSplashScreen sample   ."
56     .01, 0
57     scale 2 translate 3 * y translate -z*84
58     pigment { color Gray }
59   } , x )
60   plane { y 0 pigment { checker Black White } }
61   rotate z*25 
62 }
63
64 #local Square = mesh { 
65     triangle { <0,0,0> <0,1,0> <1,0,0> }
66     triangle { <1,1,0> <0,1,0> <1,0,0> }
67 }
68
69 #macro Round_Cone3(PtA, RadiusA, PtB, RadiusB, UseMerge)
70    #local Axis = vnormalize(PtB - PtA);
71    #local Len = VDist(PtA, PtB);
72    #local SA = atan2(RadiusB - RadiusA, Len);
73
74    #local Pt_A = PtA + Axis*RadiusA;
75    #local Pt_B = PtB - Axis*RadiusB;
76
77    #if(UseMerge)
78       merge {
79    #else
80       union {
81    #end
82       cone {Pt_A, RadiusA, Pt_B, RadiusB}
83       sphere {Pt_A + Axis*tan(SA)*RadiusA, RadiusA/cos(SA)}
84       sphere {Pt_B + Axis*tan(SA)*RadiusB, RadiusB/cos(SA)}
85    }
86 #end
87
88 #local Line = object { 
89     Round_Cone3_Union( <.15,.15,0>, .05, <.15,.9,0>, .05)
90     pigment { color White }
91     finish { ambient 1 diffuse 0 }
92     scale <1,1,.01>
93 }
94
95 #macro Put_Square ( With_Pigment , At_Location , Order )
96     #local Next_Square = union{ 
97         object{ Square pigment { With_Pigment } }
98         object{ Line }
99         scale .15
100     };
101     Screen_Object (Next_Square, At_Location, 0, false, .1 + Order / 100 )
102 #end
103
104 Put_Square( pigment {color Red} , <0.65,0.1> , 3 )
105 Put_Square( pigment {color Blue} , <0.72,0.2> , 2 )
106 Put_Square( pigment {color Yellow} , <0.81,0.13> , 1 )
107
108