3D-Stereogramm Fireworks
Übersicht

![]() |
SmilyBetreff: 3D-Stereogramm Fireworks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
Ich habe vor einer Weile die Beispielcodes von BMax durchstöbert und bin auf "Fireworks" von "simonh" gestossen. Naja der Code war m.E. ein kleines bisschen unsauber gecodet ^^ also habe ich den Code als Grundlage dafür genommen das ganze nochmal komplett neu aufzusetzen... Gesagt, getan.. nach ca 2 Stunden war ich fertig. Dann noch einen Hintergrund rein und das Ganze sah schon fast perfekt aus. Ich hatte etwas langeweile und mir überlegt, was ich darran noch machen könnte. Und DA viel mir eine Alte Rot-Cyan 3D-Brille auf, die ich noch auf dem Schreibtich rumliegen hatte ^^ Ein paar Zeilen geändert und voila - das Ergebniss war Faszinierend ^^ Ihr müsst das Ganze mit einer Rot-Cyan 3D-Brille betrachten. Die Cyanseite am Rechten auge (Folglich die Rote am Linken ![]() Code: [AUSKLAPPEN] ' Fireworks by simonh (si@si-design.co.uk)
' Recode by Smily0412 Strict Type Tspark Global list:TList =CreateList() Field Link:TLink Field x:Float Field y:Float Field z:Float Field vy:Float Field xd:Float Field yd:Float Field zd:Float Field r:Int Field g:Int Field b:Int Field alpha:Float Function createexp(px, py, pz, count) Local spark:TSpark Local cr = Rand(255) Local cg = Rand(255) Local cb = Rand(255) For Local tmp=1 To count spark = New Tspark spark.x = px spark.y = py spark.z = pz spark.r = cr spark.g = cg spark.b = cb Next End Function Method New() Link = List.AddLast(Self) Local speed:Float = 0.1 Local ang1:Float = Rnd!(360) Local ang2:Float = Rnd!(360) r=Rand(255) g=Rand(255) b=Rand(255) alpha=1 xd=Cos(ang1)*Cos(ang2)*speed yd=Cos(ang1)*Sin(ang2)*speed zd=Sin(ang1)*speed End Method Method del() link.remove() link = Null End Method Method Update() x=x+xd*10.0 y=y+yd*10.0 z=z+zd*10.0 y=y+vy# vy=vy+0.02 alpha=alpha-0.01 End Method End Type Global width=1280 Global height=1024 Graphics width, height,60 SetBlend LIGHTBLEND Local spark:Tspark Local sparki:TImage=LoadImage("spark.png") Local back:TImage = LoadImage("back.jpg") Local posx, posy, posz Local tmp:Int Local drawx, drawy,e:Float Local cz While Not KeyHit(KEY_ESCAPE) If Not Rand(0,20) posx = Rand(-100,100) posy = Rand(-100,100) posz = Rand(50,350) TSpark.createexp(posx,posy,posz,2000) EndIf Cls SetColor 255,255,255 SetAlpha 1 TileImage back,50,50 For spark = EachIn spark.list If spark.alpha>0 spark.update drawx=(width/2.0)+((spark.x/spark.z)*500) drawy=(height/2.0)+((spark.y/spark.z)*500) e = 3- (spark.z-50)/100.0 SetAlpha spark.alpha SetScale 20/spark.z,20/spark.z SetColor 0,spark.g,spark.b DrawImage sparki,drawx-e,drawy SetColor spark.r,0,0 DrawImage sparki,drawx+e,drawy Else spark.del EndIf Next Flip Wend Bilder: ![]() ![]() Viel Spaß, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sehr schön ![]() Zum Glück kann ich es noch mit meiner rund 10 Jahre alten PappBrille ansehen ;D Auch wenn ich die Umdrehen musste^^ Aber btw: Ist es eigentlich normal, dass man trotz Brille noch etwas von den beiden Farben neben einem Spark sieht..? (Kann ja auch an meiner Brille liegen) Ansonsten ruckelt es nur leider manchmal etwas ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Zum Glück kann ich es noch mit meiner rund 10 Jahre alten PappBrille ansehen ;D
Auch wenn ich die Umdrehen musste^^ Aber btw: Ist es eigentlich normal, dass man trotz Brille noch etwas von den beiden Farben neben einem Spark sieht..? (Kann ja auch an meiner Brille liegen) Das kann vorkommen, wenn die Sparks sehr "nah" rankommen. Du kannst ja mal folgendes Probieren: erstelle ein kleies prog, in dem ein Rotes (255,0,0) und daneben ein Cyan (0,255,255) kreis angezeigt wird. Wenn deine Brille korrekt ist, müsste, wenn du mit einem auge durch eine farbe schaust eine der beiden farben auf dem Bildschirm fast komplett verschwinden. (was meinst du mit brille umdrehen? Rechts Cyan und Links Rot ist soweit ich weis eigentlich der standart oO) Zitat: Ansonsten ruckelt es nur leider manchmal etwas
such mal nach der Zeile Code: [AUSKLAPPEN] TSpark.createexp(posx,posy,posz,2000)
und spiele ein wenig mit der Zahl rum... Standartmäßig wars bei mir auf 500.. kurz vorm uppen hatte ich mal versucht, wie weit ich meinen pc ausreizen, dass es noch flüssig läuft ^^, ich hatte es dann wohl vergessen wieder zurückzuändern. Gruß, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group