summaryrefslogtreecommitdiffstats
path: root/klines/povray/ball.pov
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitc90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch)
tree6d8391395bce9eaea4ad78958617edb20c6a7573 /klines/povray/ball.pov
downloadtdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.tar.gz
tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegames@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'klines/povray/ball.pov')
-rw-r--r--klines/povray/ball.pov289
1 files changed, 289 insertions, 0 deletions
diff --git a/klines/povray/ball.pov b/klines/povray/ball.pov
new file mode 100644
index 00000000..16d577ed
--- /dev/null
+++ b/klines/povray/ball.pov
@@ -0,0 +1,289 @@
+/***************************************************************************
+ ball.pov - script for rendering Kolor Lines graphics
+ -------------------
+ begin : Fri May 19 2000
+ copyright : (C) 2000 by Roman Razilov
+ email : Roman.Razilov@gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+#version 3.0
+
+// Objectname = Main View
+// Objecttype = view
+
+// This camera is build for ratio 451:277
+#include "colors.inc"
+#include "textures.inc"
+#declare BallColor = Green
+#include "clr.inc"
+
+#declare CELLSIZE = 32
+#declare PIXTIME = 10
+#declare BALLDOWN = 3
+#declare BALLSPACE = 4
+
+#warning concat("XXXX clock:",str(clock,5,2),"\n")
+
+#switch (clock)
+// --------------------burning ball-------------------
+ #range (0,1.001)
+
+ #declare explosion = 1
+ #declare jump = 0
+ #declare n = 0
+
+ #declare t0 = 0
+ #declare t1 = 0.2
+ #declare t2 = 0.5
+ #declare t3 = 0.8
+ #declare t4 = 1
+ #declare tt = clock
+ #if ( tt = t0 )
+ //turbulence
+ #declare tur = 0
+ #declare trb = 0
+ #declare trf = 0
+ #declare pf = 0
+ #end
+ #if ( tt > t0 & tt <= t1 )
+ #declare tl = (tt - t0)/(t1-t0)
+ #declare tur = 3+(0.2-3)*tl
+ #declare trb = 0+(0-0)*tl
+ #declare trf = 1+(3-1)*tl
+ #declare pf = 0+(0.3-0)*t1
+ #end
+ #if ( tt > t1 & tt <= t2 )
+ #declare tl = (tt - t1)/(t2-t1)
+ #declare tur = 0.2+(0.5-0.1)*tl
+ #declare trb = 0+(1-0)*tl
+ #declare trf = 3+(1-3)*tl
+ #declare pf = 0.3+(0.2-0.3)*t1
+ #end
+ #if ( tt > t2 & tt <= t3 )
+ #declare tl = (tt - t2)/(t3-t2)
+ #declare tur = 0.5+(2-0.5)*tl
+ #declare trb = 1+(1-1)*tl
+ #declare trf = 1+(1-1)*tl
+ #declare pf = 0.2-(0.0-0.2)*t1
+ #end
+ #if ( tt > t3 )
+ #declare tl = (tt - t3)/(t4-t3)
+ #declare tur = 2+(5-2)*tl
+ #declare trb = 1+(1-1)*tl
+ #declare trf = 1+(0-1)*tl
+ #declare pf = 0.0-(0.0-0.0)*t1
+ #end
+ // ball position / size
+ #declare by = 0
+ #declare bh = CELLSIZE-2-BALLSPACE
+ #declare bw = CELLSIZE-2-BALLSPACE
+ #break
+// ----------------borning ball----------------------
+ #range (5,6.001)
+
+ #declare explosion = 0
+ #declare jump = 0
+
+ // fire turbulence
+ #declare tur = 0
+ // trancperancy ball
+ #declare trb = 0
+ // trancperancy fire
+ #declare trf = 0
+ // lambda
+ #declare pf = 0
+ // relative clock
+ #declare tt = clock - 5
+ // y position
+ #declare by = 0
+ #declare r=sqrt(tt)
+ #declare bh = (CELLSIZE-2-BALLSPACE)*r
+ #declare bw = (CELLSIZE-2-BALLSPACE)*r
+ // normal
+ #declare n = (1-tt)*r*2
+
+ #break
+
+ // -------------jumping ball----------------------
+ #range (10,11.001)
+ #declare explosion = 0
+ #declare jump = 1
+ #declare tur = 0
+ #declare trb = 0
+ #declare trf = 0
+ #declare pf = 0
+ #declare n = 0
+ #declare tt = clock - 10
+ // ball free fall: y = -(g * t^2)/2
+ // ball jums on X*sin( sqrt(k)*(t0 - t1 + t ) )
+ // t whole motion time
+ // g - gravity acceleration
+ // A - frei movement amplitude
+ // BB way with deflation
+ #declare A = BALLDOWN
+ #declare B = BALLSPACE
+ #declare ta = PIXTIME
+ #declare k = (pi + 2*sqrt( B*(A+B))/A - acos( A/(A+2*B)) )/ta
+ #declare k = k*k
+ #warning concat("XXXX k:",str(k,5,2),"\n")
+ #declare g = k*A*A/(2*(A+B))
+ #warning concat("XXXX g:",str(g,5,2),"\n")
+ #declare t1 = sqrt(2*B/g)
+ #warning concat("XXXX t1:",str(t1,5,2),"\n")
+ #declare X = A*(A+2*B)/(2*(A+B))
+ #warning concat("XXXX X:",str(X,5,2),"\n")
+
+ #declare tc = PIXTIME - tt*PIXTIME
+
+ #warning concat("XXXX tc:",str(tc,5,2),"\n")
+ // ball position
+ #if (tc < t1)
+ #declare by = B/2 - g*tc*tc/2
+ #else
+ #declare by = -B/2 - g/k - X*cos( sqrt(k)*(ta-tc))
+ #end
+ #if ( by < -2 )
+ #declare bh=CELLSIZE-2+2*by
+ #declare bw = CELLSIZE-2-BALLSPACE+(-by-2)
+ #else
+ #declare bh = CELLSIZE-2-BALLSPACE
+ #declare bw = CELLSIZE-2-BALLSPACE
+ #end
+
+ #break
+
+ #else
+ #warning " ERROR, clock out of range !!! \n"
+
+#end
+
+
+#warning concat("XXXX clock:",str(clock,5,2),"\n")
+
+#warning concat("XXXX tt:",str(tt,5,2),"\n")
+
+
+
+
+
+camera
+{
+ orthographic
+ location <0,0,-100>
+ look_at <0,0,0>
+ up (CELLSIZE-2)*y
+ right (CELLSIZE)*x
+}
+
+// Global settings
+global_settings
+{
+ ambient_light rgb<0.5,0.5,0.5>
+}
+light_source
+{
+ <-400, 600, -600>
+ color White
+ cylinder
+ radius 200
+ falloff 1000
+ tightness 1
+ point_at <0,0,0>
+}
+// Background
+background
+{
+ color rgb<.5,.5,.5>
+}
+
+// fire
+#if (explosion = 1)
+sphere { 0, 1
+ pigment { color rgbt<0,0,0,1>
+ }
+ halo {
+ emitting
+ spherical_mapping
+ poly
+ max_value 40
+ exponent 0.1
+ linear
+ turbulence tur
+// phase pf
+ lambda 2-pf
+ frequency 1
+ octaves 6
+ color_map {
+ [ 0 color rgbt <1, 0, 0, 1> ]
+ [ 0.2 color rgbt <1, 0, 0, 1-1*trf> ]
+ [ 0.5 color rgbt <1, 0, 0, 1-3*trf> ]
+ [ 0.9 color rgbt <1, 1, 0, 1-4*trf> ]
+ [ 1 color rgbt <1, 1, 0.5, 1-6*trf> ]
+ }
+ samples 30
+ }
+ hollow
+ scale<15,15,15>
+ translate <-0.5,-0.5,0>
+ }
+#end
+// Ball
+#if ( trb < 1 & bh > 0 )
+sphere
+{
+ <0,0,0>,1
+ pigment {
+
+ wood
+// agate_turb 0.5
+ turbulence .1
+ frequency 2
+// lambda
+ rotate <30,10,15>
+ color_map {
+ [0.5 BallColor transmit trb]
+ [0.3 BallColor*0.95 transmit trb]
+ [0.2 BallColor*0.9 transmit trb]
+ }
+ }
+ no_shadow
+ #if ( n > 0 )
+ normal
+ {
+ //wood 0.5
+ //frequency 2
+ //turbulence .1
+ //rotate <30,10,15>
+ bumps n
+ scale 0.3
+ }
+ #end
+ finish {
+ ambient 0.3
+ diffuse 0.8
+ specular 1
+ roughness 0.001
+ reflection .1
+ phong 0.9 * ( 1-trb)
+ phong_size 60
+
+ }
+ #if (trb > 0)
+ hollow
+ #end
+ scale <bw/2,bh/2,bw/2>
+ translate <-0.5,by - 0.5,0>
+
+#warning concat("XXXX by:",str(by,5,2),"\n")
+#warning concat("XXXX bh:",str(bh,5,2),"\n")
+#warning concat("XXXX bw:",str(bw,5,2),"\n")
+}
+#end