01-14-2006, 03:52 AM
I been sitting around playing with all this motion bluring effects,. and now I have two new demos to share here,. No spoilers, take a look for yourself:
(Edit: I changed the name of the second Demo...)
DriftingDream:
FireWheel:
Enjoy!!! :wink:
(Edit: I changed the name of the second Demo...)
DriftingDream:
Code:
'Drifting Dream by Rattrapmax6 (x.t.r.GRAPHICS)
SCREENRES 800,600,32,2,1
WINDOWTITLE "DriftingDream..."
DEFSNG A-Z
CONST LENS = 256
CONST PI = 3.14
CENTX = 400: CENTY = 300
TYPE Cord3D
X AS SINGLE
Y AS SINGLE
Z AS SINGLE
END TYPE
TYPE Cord2D
X AS INTEGER
Y AS INTEGER
END TYPE
DIM SHARED AS Cord3D PNT(8), Cam, Ang
DIM SHARED AS Cord2D SCR(8)
DIM SHARED AS INTEGER P1, P2 = 1
DIM SHARED BLUR(800*600*4+4)' AS INTEGER
'PNT(0).X = 0: PNT(0).Y = 0: PNT(0).Z = 0
PNT(1).X = -10: PNT(1).Y = 10: PNT(1).Z = 10
PNT(2).X = 10: PNT(2).Y = 10: PNT(2).Z = 10
PNT(3).X = 10: PNT(3).Y = -10: PNT(3).Z = 10
PNT(4).X = -10: PNT(4).Y = -10: PNT(4).Z = 10
PNT(5).X = -10: PNT(5).Y = 10: PNT(5).Z = -10
PNT(6).X = 10: PNT(6).Y = 10: PNT(6).Z = -10
PNT(7).X = 10: PNT(7).Y = -10: PNT(7).Z = -10
PNT(8).X = -10: PNT(8).Y = -10: PNT(8).Z = -10
Cam.X = 0
Cam.Y = 0
Cam.Z = 220
Ang.X = 0
Ang.Y = 0
Ang.Z = 0
Colour = RGB(0,255,255)
'ColourBG = RGB(0,0,255)
DO
SCREENSET P2, P1
SWAP P1, P2
CLS
'PAINT (0,0), ColourBG
PUT (0,0), BLUR, ALPHA, 245
PUT (10,-10), BLUR, ALPHA, 245
PUT (5,5), BLUR, ALPHA, 245
PUT (1,-1), BLUR, ALPHA, 245
FOR i = 1 TO 8
X = PNT(i).X
Y = PNT(i).Y
Z = PNT(i).Z
NY = Y * COS(Ang.X * PI / 180) - Z * SIN(Ang.X * PI / 180)
NZ = Z * COS(Ang.X * PI / 180) + Y * SIN(Ang.X * PI / 180)
Y = NY
Z = NZ
NZ = Z * COS(Ang.Y * PI / 180) - X * SIN(Ang.Y * PI / 180)
NX = X * COS(Ang.Y * PI / 180) + Z * SIN(Ang.Y * PI / 180)
X = NX
NX = X * COS(Ang.Z * PI / 180) - Y * SIN(Ang.Z * PI / 180)
NY = Y * COS(Ang.Z * PI / 180) + X * SIN(Ang.Z * PI / 180)
RX = NX - Cam.X
RY = NY - Cam.Y
RZ = NZ + Cam.Z
Dist = LENS - RZ
IF Dist < 256 AND Dist > 0 THEN
SCR(i).X = CENTX + (LENS * RX / Dist)
SCR(i).Y = CENTY - (LENS * RY / Dist)
END IF
NEXT
LINE (SCR(1).X, SCR(1).Y)-(SCR(2).X, SCR(2).Y), Colour
LINE (SCR(2).X, SCR(2).Y)-(SCR(3).X, SCR(3).Y), Colour
LINE (SCR(3).X, SCR(3).Y)-(SCR(4).X, SCR(4).Y), Colour
LINE (SCR(4).X, SCR(4).Y)-(SCR(1).X, SCR(1).Y), Colour
LINE (SCR(5).X, SCR(5).Y)-(SCR(6).X, SCR(6).Y), Colour
LINE (SCR(6).X, SCR(6).Y)-(SCR(7).X, SCR(7).Y), Colour
LINE (SCR(7).X, SCR(7).Y)-(SCR(8).X, SCR(8).Y), Colour
LINE (SCR(8).X, SCR(8).Y)-(SCR(5).X, SCR(5).Y), Colour
LINE (SCR(5).X, SCR(5).Y)-(SCR(1).X, SCR(1).Y), Colour
LINE (SCR(6).X, SCR(6).Y)-(SCR(2).X, SCR(2).Y), Colour
LINE (SCR(7).X, SCR(7).Y)-(SCR(3).X, SCR(3).Y), Colour
LINE (SCR(8).X, SCR(8).Y)-(SCR(4).X, SCR(4).Y), Colour
FOR TT = 1 TO 5
PSET (RND * 800, RND * 600), Colour
NEXT
Ang.X += 1
Ang.Y += 1
Ang.Z += 1
GET(0,0)-(799,599), BLUR
SLEEP 20
LOOP UNTIL INKEY$ <> ""
FireWheel:
Code:
'Fire-style Demo effects by Rattrapmax6 (x.t.r.GRAPHICS)....
SCREENRES 800, 600, 32, 2
WINDOWTITLE "FireWheel.."
DIM AS INTEGER P1, P2 = 1
DIM AS INTEGER BLUR(800*600*4+4)
CENTX = 400: CENTY = 300
VVA = 1
OX = 10: OY = 10
OA = 0
VV = VVA
OAV = 1
YEL = 255
YELV = -1
DO
SCREENSET P1, P2
SWAP P1, P2
CLS
OA += OAV
NY = OY * SIN(OA * 3.14 / 180)
NX = OX * COS(OA * 3.14 / 180)
PUT(NX,NY), BLUR, ALPHA, 240
CONT += 1
IF CONT > 200 THEN
VVA = RND * 20 + 1
OAV = -OAV
CONT = 0
END IF
FOR i = 1 TO 360 STEP 1
IF LL > 200 THEN VV = -VVA
IF LL < -200 THEN VV = VVA
LL += VV
Y = LL * SIN(i * 3.14 / 180)
X = LL * COS(i * 3.14 / 180)
PSET (X + CENTX, Y + CENTY), RGB(255, YEL, 0)
NEXT
YEL += YELV
IF YEL <= 0 THEN YELV = 1
IF YEL >= 255 THEN YELV = -1
GET(0,0)-(799, 599), BLUR
SLEEP 20
LOOP UNTIL INKEY$ <> ""
Enjoy!!! :wink: