wxWidgets/samples/splash/splash.pov
2004-08-04 17:08:53 +00:00

109 lines
2.6 KiB
POVRay

/////////////////////////////////////////////////////////////////////////////
// Name: splash.pov
// Purpose: POV-Ray scene used to generate splash image for wxWidgets
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 04/08/2004
// RCS-ID: $Id$
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#version 3.6;
// Rendering options : +FN +W638 +H478 +AM1 +A0.05 +R5
#include "colors.inc"
#include "rad_def.inc"
#include "screen.inc"
#include "shapes.inc"
global_settings {
assumed_gamma 1.0
radiosity {}
}
#local Location = <0,5,-100> ;
Set_Camera_Location(Location)
Set_Camera_Look_At(<0,0,0>)
background { rgb White }
light_source { 1000*y color White }
light_source { Location color White }
union{
Center_Object( text {
ttf
"crystal.ttf",
". wxWidgets ."
.01, 0
scale 20 translate 22*y
pigment { color Black }
} , x )
Center_Object( text {
ttf
"crystal.ttf",
". Cross-Platform GUI Library ."
.01, 0
scale 10 translate 10*y
pigment { color Black }
} , x )
Center_Object( text {
ttf
"crystal.ttf",
". wxSplashScreen sample ."
.01, 0
scale 2 translate 3 * y translate -z*84
pigment { color Gray }
} , x )
plane { y 0 pigment { checker Black White } }
rotate z*25
}
#local Square = mesh {
triangle { <0,0,0> <0,1,0> <1,0,0> }
triangle { <1,1,0> <0,1,0> <1,0,0> }
}
#macro Round_Cone3(PtA, RadiusA, PtB, RadiusB, UseMerge)
#local Axis = vnormalize(PtB - PtA);
#local Len = VDist(PtA, PtB);
#local SA = atan2(RadiusB - RadiusA, Len);
#local Pt_A = PtA + Axis*RadiusA;
#local Pt_B = PtB - Axis*RadiusB;
#if(UseMerge)
merge {
#else
union {
#end
cone {Pt_A, RadiusA, Pt_B, RadiusB}
sphere {Pt_A + Axis*tan(SA)*RadiusA, RadiusA/cos(SA)}
sphere {Pt_B + Axis*tan(SA)*RadiusB, RadiusB/cos(SA)}
}
#end
#local Line = object {
Round_Cone3_Union( <.15,.15,0>, .05, <.15,.9,0>, .05)
pigment { color White }
finish { ambient 1 diffuse 0 }
scale <1,1,.01>
}
#macro Put_Square ( With_Pigment , At_Location , Order )
#local Next_Square = union{
object{ Square pigment { With_Pigment } }
object{ Line }
scale .15
};
Screen_Object (Next_Square, At_Location, 0, false, .1 + Order / 100 )
#end
Put_Square( pigment {color Red} , <0.65,0.1> , 3 )
Put_Square( pigment {color Blue} , <0.72,0.2> , 2 )
Put_Square( pigment {color Yellow} , <0.81,0.13> , 1 )