]> git.saurik.com Git - wxWidgets.git/blob - samples/splash/splash.pov
glibc's vswprintf doesn't nul terminate on truncation.
[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