splash.pov 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. // Copyright: (c) Wlodzimierz Skiba
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #version 3.6;
  11. // Rendering options : +FN +W638 +H478 +AM1 +A0.05 +R5
  12. #include "colors.inc"
  13. #include "rad_def.inc"
  14. #include "screen.inc"
  15. #include "shapes.inc"
  16. global_settings {
  17. assumed_gamma 1.0
  18. radiosity {}
  19. }
  20. #local Location = <0,5,-100> ;
  21. Set_Camera_Location(Location)
  22. Set_Camera_Look_At(<0,0,0>)
  23. background { rgb White }
  24. light_source { 1000*y color White }
  25. light_source { Location color White }
  26. union{
  27. Center_Object( text {
  28. ttf
  29. "crystal.ttf",
  30. ". wxWidgets ."
  31. .01, 0
  32. scale 20 translate 22*y
  33. pigment { color Black }
  34. } , x )
  35. Center_Object( text {
  36. ttf
  37. "crystal.ttf",
  38. ". Cross-Platform GUI Library ."
  39. .01, 0
  40. scale 10 translate 10*y
  41. pigment { color Black }
  42. } , x )
  43. Center_Object( text {
  44. ttf
  45. "crystal.ttf",
  46. ". wxSplashScreen sample ."
  47. .01, 0
  48. scale 2 translate 3 * y translate -z*84
  49. pigment { color Gray }
  50. } , x )
  51. plane { y 0 pigment { checker Black White } }
  52. rotate z*25
  53. }
  54. #local Square = mesh {
  55. triangle { <0,0,0> <0,1,0> <1,0,0> }
  56. triangle { <1,1,0> <0,1,0> <1,0,0> }
  57. }
  58. #macro Round_Cone3(PtA, RadiusA, PtB, RadiusB, UseMerge)
  59. #local Axis = vnormalize(PtB - PtA);
  60. #local Len = VDist(PtA, PtB);
  61. #local SA = atan2(RadiusB - RadiusA, Len);
  62. #local Pt_A = PtA + Axis*RadiusA;
  63. #local Pt_B = PtB - Axis*RadiusB;
  64. #if(UseMerge)
  65. merge {
  66. #else
  67. union {
  68. #end
  69. cone {Pt_A, RadiusA, Pt_B, RadiusB}
  70. sphere {Pt_A + Axis*tan(SA)*RadiusA, RadiusA/cos(SA)}
  71. sphere {Pt_B + Axis*tan(SA)*RadiusB, RadiusB/cos(SA)}
  72. }
  73. #end
  74. #local Line = object {
  75. Round_Cone3_Union( <.15,.15,0>, .05, <.15,.9,0>, .05)
  76. pigment { color White }
  77. finish { ambient 1 diffuse 0 }
  78. scale <1,1,.01>
  79. }
  80. #macro Put_Square ( With_Pigment , At_Location , Order )
  81. #local Next_Square = union{
  82. object{ Square pigment { With_Pigment } }
  83. object{ Line }
  84. scale .15
  85. };
  86. Screen_Object (Next_Square, At_Location, 0, false, .1 + Order / 100 )
  87. #end
  88. Put_Square( pigment {color Red} , <0.65,0.1> , 3 )
  89. Put_Square( pigment {color Blue} , <0.72,0.2> , 2 )
  90. Put_Square( pigment {color Yellow} , <0.81,0.13> , 1 )