| 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 | |