Hi Ich habe schon öfter animationen gesehen, bei denen Bilder aufgewellt werden als ob sie irgendwie von der Seite geschüttelt werden oder Wellen durchlaufen (Hoffe ihr wisst was ich meine). Ich kann mir schlecht vorstellen wie man so was implementieren sollte. Ich würde das gerne mal an einem Gitter probieren. Aber wie macht man was. Pixel setzen dauert ewig. Man müsste das doch mit irgendwelchen Kurvenfunktionen machen. Oder was DirectX mäßiges (da ist Pixel bearbeitung nicht mehr langsam). Ein Link zum einarbeiten wäre mir auch recht. Wenn jemand Geometry Wars Retro Evolved kennt, da ist auch so ein Effekt dieser Art dabei.
Für solche Infos schaue ich zuerst bei youtube vorbei z.B.: http://www.youtube.com/watch?v=1EFFfde_rog Teilweise gibt es dann vom Entwickler die Gleichungen oder den ganzen Code auf seiner Webseite bzw. einen link....
Samuel K. schrieb: > Ich würde das gerne mal an einem Gitter probieren. Aber wie macht man > was. Pixel setzen dauert ewig. Sowas macht man auch normalerweise nicht auf Pixelebene. > Man müsste das doch mit irgendwelchen > Kurvenfunktionen machen. Oder was DirectX mäßiges (da ist Pixel > bearbeitung nicht mehr langsam). Der Trick liegt meistens darin, dass man im Programm einen Buffer hat, der das Bild enthält. Alle Bildmanipulationen macht man in diesem Buffer und erst dann, wenn das nächste Teilbild fertig ist, schmeisst man es in einem Rutsch auf die Anzeige. Dann sieht man nicht, wie das Bild pixelweise zusammengesetzt wird. Ob dieser Buffer jetzt bei dir im Programm ist, oder ob die Grafiklib diesen Buffer vorhält, ist gehupft wie gesprungen. Wichtig ist, dass es etwas derartiges gibt. Ich denke es gibt da draussen genügend Tuorials, die einen in die Grfaikprogrammierung einführen. Sind alle mit Google zu finden.
Also mit Spiele und Grafikprogrammierung kenne ich mich schon ein bisschen aus. Da nutzte ich bei größeren Programmen immer Pageflipping, sonst einen Buffer im Videoram. Letzendlich wird aber doch auf pixelebene gearbeitet (auch wenn in einer Liste). Karl heinz Buchegger schrieb: > Ich denke es gibt da draussen genügend Tuorials, die einen in die > Grfaikprogrammierung einführen. Sind alle mit Google zu finden. Das was da beeschrieben wird brauche ich nicht mehr. Ich weiß wie ich Bilder rotiere, transparent zeichen, eine konstante Framerate erzeuge, Timer benutze... Bisher habe ich immer (z.t. auch transparente) Partikeleffekte genutzt. Das ist aber auch deutlich leichter.
ich würde mit direct 3d eine Gitter erzeugen und das eigentliche Bild als Textur drauflegen. dann kannst du die 3d Punkte verändern wie du willst und die Graka berechnet die Verzerrung
Vlad Tepesch schrieb: > ich würde mit direct 3d eine Gitter erzeugen und das eigentliche Bild > als Textur drauflegen. > dann kannst du die 3d Punkte verändern wie du willst und die Graka > berechnet die Verzerrung Muss ich mal ausprobieren. Allerdings habe ich mit bisher nur ein paar Sachen mit DX9/10 gemacht. Texturen hab ich noch nicht benutzt (hab noch keine richtigen 3d Spiele programmiert, außer Isometrische Persp.). Für das was ich jetzt machen will brauch ich das grad nur für ein Gitter. Das möchte ich auch mit einer 2d Lib machen. Da gibts zwar auch ein paar 3d Funktionen, allerdigns blick ich da noch weniger durch als bei DX3D.
OK, das ganze nennt man tatsächlich Wave Equation. http://en.wikipedia.org/wiki/Wave_equation Leider ist das in Englisch. Kennt jemand den Fachbegriff im Deutschen?
Samuel K. schrieb: > OK, das ganze nennt man tatsächlich Wave Equation. > http://en.wikipedia.org/wiki/Wave_equation > > Leider ist das in Englisch. Kennt jemand den Fachbegriff im Deutschen? Einfach 1:1 übersetzen: Wellengleichung Allerdings ist das da viel zu komplex um es für Computergrafik zu verwenden. Da braucht man einfache, schnell zu berechnende Dinge. Hast du es denn jetzt schon geschafft, mit der 3D Lib deiner Wahl eine einzelne Fläche (zb Dreieck oder Rechteck) im 3D zu bauen und anzuzeigen? Lass fürs erste Farbe, Schattierung oder Textur links liegen. Reines Drahtmodell ist für den Anfang gut genug.
Karl heinz Buchegger schrieb: > Allerdings ist das da viel zu komplex um es für Computergrafik zu > verwenden. Da braucht man einfache, schnell zu berechnende Dinge. Kennst du Galaxie Wars für den PC (Retro Evolved)? Da ist das so gemacht. > Hast du es denn jetzt schon geschafft, mit der 3D Lib deiner Wahl eine > einzelne Fläche (zb Dreieck oder Rechteck) im 3D zu bauen und > anzuzeigen? Lass fürs erste Farbe, Schattierung oder Textur links > liegen. Reines Drahtmodell ist für den Anfang gut genug. Das ist kein Problem. Wie gesagt ich hab schon mal in 3D reingeschaut. Ein X- File hab ich noch nie geladen, aber das brauch ich dafür ja nicht. Im Prinzip muss man nur einen Buffer mit den Punkten erzeugen und in anzeigen. Achja ich mach das mit c#, da ich es damit einfacher finde, aber das macht ja kein Unterschied.
Hey, also im Grunde ist das gar nicht so schwer. Mit dem Drahtgitter-Modell würde ich es auch versuchen. Je nachdem, wie viele Punkte du verwendest, desto "runder" sieht dein Effekt nachher aus. Im folgendem Beispiel wird zum Beispiel ein Gitter aus 45*45 Punkten erzeugt. Jeder Punkt enthält dabei eine x,y und z Koordinate - das ist später praktisch zum zeichnen (einmal die x und y Werte berechnen - fertig). Durch verändern der z-Koordinate kannst du nun solche Effekte erzeugen. Das ist ein Tutorial über OpenGL, in welchem eine Flagge gerendert wird. Ist natürlich nicht analog zu DirectX, aber das Prinzip sollte das gleiche sein. Vielleicht hilft es dir weiter ;) http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=11 Grüße, Kalka
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.