Fake 3D

Previous topic - Next topic

WPShadow

Hi!

Fragt mich bitte nicht, wie ich auf die Idee gekommen bin dieses Programm zu schreiben...

Es war ein spontaner Gedanke und ich dachte mir, ich teile ihn einfach mit euch!

Wenn ihr euch das Programm ansehen wollt, dann einfach normales Projekt in 640x480 starten!!!

Code (glbasic) Select

LOCAL mx, my, b1, b2, ver_x, ver_y, tmp


SYSTEMPOINTER TRUE


WHILE TRUE

// Mausposition auslesen
MOUSESTATE mx, my, b1, b2

// Umrechnen der Position in % für x
IF mx < 320
ver_x = 100 - ((mx * 100) / 320)
ENDIF
IF mx >= 320
ver_x = -1 * (((mx - 320) * 100) / 320)
ENDIF

// Umrechnen der Position in % für y
IF mx < 240
ver_y = 100 - ((my * 100) / 240)
ENDIF
IF mx >= 240
ver_y = -1 * (((my - 240) * 100) / 240)
ENDIF

// die Ausgabe --> Tiefe maximal auf 23 setzen
FOR tmp = 1 TO 23

DRAWRECT 0 + (tmp * 10) + tmp * (ver_x / 10), 0 + (tmp * 10) + tmp * (ver_y / 10), 640 + (tmp * -20), 480 + (tmp * -20), RGB(255 + (tmp * -10), 255 + (tmp * -10), 255 + (tmp * -10))

NEXT

// Ausgabe
SHOWSCREEN
WEND


Gruß

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Quentin

lol
chicer Effekt WP.

backslider

Sehr geil! o.O

WPShadow

Und hier das Update meines sinnlosesten Programms!!!  :enc:

Code (glbasic) Select

LOCAL mx, my, b1, b2, ver_x, ver_y, tmp, size_x, size_y
LOCAL color_steps_r, color_steps_g, color_steps_b, steps, steps_max
LOCAL col_r, col_g, col_b, size, faktor

SETSCREEN 1024, 768, 0
SYSTEMPOINTER TRUE
AUTOPAUSE FALSE
GETSCREENSIZE size_x, size_y

// Farbabstufungen
color_steps_r = -8
color_steps_g = -4
color_steps_b = -3

// Anzahl der Stufen
steps = 70

// Größe der Abstufungen
size = 5

// Faktor für die Verschiebung der Rechtecke
faktor = 10 / size




steps_max = INTEGER((size_y / 2) / size) - 1

IF steps > steps_max THEN steps = steps_max




WHILE TRUE

// Mausposition auslesen
MOUSESTATE mx, my, b1, b2

// Umrechnen der Position in % für x
IF mx < size_x / 2
ver_x = 100 - ((mx * 100) / (size_x / 2))
ENDIF
IF mx >= size_x / 2
ver_x = -1 * (((mx - size_x / 2) * 100) / (size_x / 2))
ENDIF

// Umrechnen der Position in % für y
IF mx < (size_y / 2)
ver_y = 100 - ((my * 100) / (size_y / 2))
ENDIF
IF mx >= (size_y / 2)
ver_y = -1 * (((my - (size_y / 2)) * 100) / (size_y / 2))
ENDIF




// die Ausgabe
FOR tmp = 1 TO steps

// Korrektur der Farbwerte
IF (tmp * color_steps_r) >= -255
col_r = (tmp * color_steps_r)
ELSE
col_r = -255
ENDIF

IF (tmp * color_steps_g) >= -255
col_g = (tmp * color_steps_g)
ELSE
col_g = -255
ENDIF

IF (tmp * color_steps_b) >= -255
col_b = (tmp * color_steps_b)
ELSE
col_b = -255
ENDIF


DRAWRECT 0 + (tmp * size) + tmp * (ver_x / (10 * faktor)), 0 + (tmp * size) + tmp * (ver_y / (10 * faktor)), size_x + (tmp * (-1 * (2 * size))), size_y + (tmp * (-1 * (2 * size))), RGB(255 + col_r, 255 + col_g, 255 + col_b)

NEXT

// Ausgabe
SHOWSCREEN
WEND
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

backslider

Mach das doch mal in diesen Grün/Rot-Farben, sodass man nen Effekt hat, wenn man ne einfache 3D-Brille aufsetzt  =D =D =D