Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Two graphics demos (DriftingDream and FireWheel)
#1
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:
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:
Kevin (x.t.r.GRAPHICS)

[Image: 11895-r.png]
Reply
#2
I changed the name of the last one,. Originaly Dazzle, but I felt "FireWheel" discribed it better... :wink:

Enjoy!
Kevin (x.t.r.GRAPHICS)

[Image: 11895-r.png]
Reply
#3
Pretty, Specially the first one, they would prolly both make for good screen savers if you made the exit option mouse movement.
url=http://www.smithcosoft.com]SmithcoSoft Creations[/url]
"If you make it idiot proof, someone will make a better idiot" - Murphy's Law
Reply
#4
Yeah.. I might just do that.. :wink:
Kevin (x.t.r.GRAPHICS)

[Image: 11895-r.png]
Reply
#5
Both are nice, but I prefer the first one. Although it's a little choppy here on a 2.4 GHZ WinXP. The second one runs seamlessly.
f only life let you press CTRL-Z.
--------------------------------------
Freebasic is like QB, except it doesn't suck.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)