Hallo Forum! Kennt jemand den Algorithmus, der solche (http://moebio.com/plasma/) Grafiken erzeugt? tia Klaus
Kreise mit verschiedenen Ebenen, die eine Eigenbewegung haben und wenn sie sich nahe kommen, sich verbinden. Beim entstehen vergrößern sie sich bis auf eine bestimmte Größe. Probier es doch erstmal selber aus. So arg schwer scheint es nicht zu sein.
Bei einer 2D-Darstellung sollte es reichen das Potential bzw. den Farbwert abhängig zur Entfernung und Gewichtung der Mittelpunkte zu summieren.
Hab da mal schnell was zum Spielen zusammengepfuscht (siehe Anhang).
Hi Draco Ich hab das ganze auch mal probiert, allerdings war die GUI von c# dann doch zu langsam (und auf Managed DX wegen so was hatte ich keine Lust ;) ). Ich habs jetzt mit Allegro 4 in c++ geschrieben (zum einfachen installieren empfehle ich DevC++ mit AllegroAddon). Ich hab die Kugeln farbig gemacht und ihnen eine Eigenbewegung gegeben. Für die Farben ist die Division aber glaubich nötig.
Hallo Samuel, sehr schön! Ein "natives" Programm ist für sowas natürlich viel besser geeignet. Hatte das nur mal zusammengehackt um das Prinzip auszuprobieren. Eine interessante Optimierung wäre sicherlich das Ganze in geringer Auflösung zu berechnen, anhand von Schwellwerten Kanten zu bilden und diese dann skalierbar als Polygone zu rendern. Hm... das wird wohl bis zum nächsten Wochenende warten müssen. Danke und Grüße! Sascha (Draco)
Interessant wäre auch eine Version, die z.B. über OpenCL komplett alles in der Grafikkarte berechnet.
In der Tat ist das eine Aufgabe, die man sehr gut parallelisieren könnte. Vielleicht sollte ich mich mal damit beschäftigen. Hab' nur leider derzeit keine so tolle Grafikkarte.
Draco schrieb: > In der Tat ist das eine Aufgabe, die man sehr gut parallelisieren > könnte. Vielleicht sollte ich mich mal damit beschäftigen. Hab' nur > leider derzeit keine so tolle Grafikkarte. Mit dem Toolkit von AMD kann man das auch auf der Host-CPU (geht auch mit Intel-CPUs). Das ist dann natürlich nicht großartig schneller, aber so kann man sich auch ohne entsprechende Grafikkarte damit beschäftigen.
Ich habe es grad im Vollbildmodus laufen lassen und es hat mich erstmal geschockt. Gerade mal 10 Fps. Mit einem Array-Buffer habe ich nochmal 2 Fps rausgekitzelt, weniger als erwartet. Irgendwie will das ganze nicht Asyncron. Es flimmert irgendwie. Und ist außerdem langsamer. Ich werde das morgen mal auf einem 4 Kerner ausprobieren (ich hab nur 2). Rolf Magnus schrieb: > Interessant wäre auch eine Version, die z.B. über OpenCL komplett alles > in der Grafikkarte berechnet. Fänd ich auch interessant, hab aber leider keine Ahnung davon. Ich werde mich mal ein bisschen einlesen. Kann man damit eigentlich seine Graka schrotten? Meine jetzige ist ganz ordentlich, kaputt gehen sollte die auch nicht.
Samuel K. schrieb: > Fänd ich auch interessant, hab aber leider keine Ahnung davon. Ich hab's mir im letzten Urlaub mal angesehen. Ich werde > mich mal ein bisschen einlesen. Kann man damit eigentlich seine Graka > schrotten? Ich wüßte nicht wie, außer wenn die Kühlung unterdimensioniert ist. Dann hast du aber bei einem modernen Spiel das gleiche Problem.
Rolf Magnus schrieb: > Ich wüßte nicht wie, außer wenn die Kühlung unterdimensioniert ist. Dann > hast du aber bei einem modernen Spiel das gleiche Problem. Ganz und gar nicht. Die geht nicht über 50°C. Ähmm... Kennt jemand ein gutes Tut für OpenCl. Evtl. ein deutsches?
Hi nochmal, ich hab das Projekt das letzte mal in CodeBlocks gemacht. Mal kurz wieder in DevC++ reingegangen und: Plötzlich von 10 auf 37Fps. Mit 2 Threads schaff ich manchmal nun auch 40 Fps und aber manchmal auch nur unter 10. Da dürfte irgendwie der gemeinsame Zugriff auf einen SPeicherbereich (Klasse) schiefgehen. Ich müsste mal probieren, ob es etwas nützt das Objekt mehrfach anzulegen, damit jeder Thread seinen eigenen Speicher hat.
ich habe das gleich programm vor ca 6 jahren mal in opengl geschrieben. hatte bei 1000 blobs ca 100fps. die gradienten "Blobs" als textur speichern und per alpha blending zeichnen. mit nem stencil/alpha test kriegt man dann ein zusammenhängendes gebilde raus.
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.