3D-Wellen
Übersicht BlitzBasic Codearchiv
TritonBetreff: 3D-Wellen |
Sa, März 06, 2004 22:59 Antworten mit Zitat |
|
---|---|---|
Hmm, ja schauts euch an. Vertex gilt hier dank wegen der Farbgebung, bin echt nicht drauf gekommen ^^
Code: [AUSKLAPPEN] ;3D-Wellen, 2004 by Triton Graphics 800,600,16,2 SetBuffer BackBuffer() sizex = 75 sizey = 75 originx = GraphicsWidth()/2-sizex*2 originy = GraphicsHeight()/2 time1 = MilliSecs() While Not KeyDown(1) For a = 1 To 90 Step 1 For x = 0 To sizex For y = 0 To sizey lx = (sizex/2)-x ly = (sizey/2)-y abstand# = Sqr((lx*lx)+(ly*ly))-a c# = Sin(abstand#*20)*6 xneu = x+y yneu = (y-x)/2 r=255-(Sin#(abstand#*20.0)+1.0)/2.0*255 g=r b=r rgb=255*$1000000 + r*$10000 + g*$100 + b WritePixel xneu*2+originx,yneu*2+c+originy,rgb If KeyDown(1) Then End Next Next loops = loops+1 Color 255,255,255 Text 10, 10, fps+" FPS" If MilliSecs() - time1 > 1000 Then fps = loops:loops = 0:time1 = MilliSecs() Flip Cls Next Wend |
||
- Zuletzt bearbeitet von Triton am Mo, Feb 11, 2008 0:56, insgesamt einmal bearbeitet
AvaGast |
Sa, März 06, 2004 23:29 Antworten mit Zitat |
|
---|---|---|
Sieht ganz fein aus. | ||
Mr.Keks |
So, März 07, 2004 8:20 Antworten mit Zitat |
|
---|---|---|
hrm, lief irgendwie lahm bei mir... habe ein paar dinge verändert und jetzt läufts bei mir zumindest etwas schneller ^^ (so um 1800% schneller ungefähr...)
Code: [AUSKLAPPEN] ;3D-Wellen, 2004 by Triton
Graphics 800,600,16,2 SetBuffer BackBuffer() Const sizex = 75 Const sizey = 75 Const originx = 800/2-sizex*2 Const originy = 600/2 time1 = MilliSecs() While Not KeyDown(1) For a = 1 To 90 Step 1 LockBuffer BackBuffer() For x = 0 To sizey lx = (sizex/2)-x la = (lx*lx) For y = 0 To sizey ly = (sizey/2)-y abstand# = Sqr(la+(ly*ly))-a c# = Sin(abstand#*20)*6 xneu = x+y yneu = (y-x)/2 r=255-(Sin#(abstand#*20.0)+1.0)*127.5 rgb=255*$1000000 + r*$10000 + r*$100 + r WritePixelFast xneu*2+originx,yneu*2+c+originy,rgb Next If KeyDown(1) Then End Next UnlockBuffer BackBuffer() loops = loops+1 Color 255,255,255 Text 10, 10, fps+" FPS" If MilliSecs() - time1 > 1000 Then fps = loops:loops = 0:time1 = MilliSecs() Flip 0 Cls Next Wend |
||
MrKeks.net |
- Zuletzt bearbeitet von Mr.Keks am So, März 07, 2004 12:38, insgesamt einmal bearbeitet
Shadow of the night |
So, März 07, 2004 12:13 Antworten mit Zitat |
|
---|---|---|
Find ich wirklich fein das Teil.
Das von Inarie läuft bei mir mit 350 FPS 8) , das war mir dann doch ein bisschen zu schnell. MfG Shadow of the Night |
||
User posted image |
Mr.Keks |
So, März 07, 2004 12:37 Antworten mit Zitat |
|
---|---|---|
mach das 0 bei flip weg! ^^ | ||
MrKeks.net |
Shadow of the night |
So, März 07, 2004 13:42 Antworten mit Zitat |
|
---|---|---|
Oh gut dann läuft es mit 75 FPS gerade richtig.
thx to Inarie |
||
User posted image |
Triton |
So, März 07, 2004 17:42 Antworten mit Zitat |
|
---|---|---|
naja, Writepixelfast einbauen und dafür ne Menge flexibilität rausnehmen ist ja kein Akt. | ||
Mr.Keks |
So, März 07, 2004 20:24 Antworten mit Zitat |
|
---|---|---|
naja, ich habe auch noch bei rgb einige unnötige operationen gekürzt, einige konstanten gesetzt, la nur einmal berechnet und das keydown() etwas weiter aus der schleife gezogen, was auch noch einige fps gebracht hat... | ||
MrKeks.net |
Triton |
So, März 07, 2004 21:01 Antworten mit Zitat |
|
---|---|---|
...dafür einfachere Farbmanipulation (ich hab r,g und b nicht umsonst einzeln hingeschrieben ) rausgenommen und Autozentrierung nicht Auflösungsunabhängig gelassen.
Aber egal, ich denke eine weitere Diskussion ist unnötig. |
||
Übersicht BlitzBasic Codearchiv
Powered by phpBB © 2001 - 2006, phpBB Group