diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | c90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch) | |
tree | 6d8391395bce9eaea4ad78958617edb20c6a7573 /klines/povray/ball.pov | |
download | tdegames-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.pov | 289 |
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 |