Forum: PC-Programmierung Faszinierende Computergrafik


von Klaus (Gast)


Lesenswert?

Hallo Forum!

Kennt jemand den Algorithmus, der solche (http://moebio.com/plasma/) 
Grafiken erzeugt?

tia

Klaus

von Sam .. (sam1994)


Lesenswert?

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.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?


von Darco (Gast)


Lesenswert?

Bei einer 2D-Darstellung sollte es reichen das Potential bzw. den 
Farbwert abhängig zur Entfernung und Gewichtung der Mittelpunkte zu 
summieren.

von Draco (Gast)


Angehängte Dateien:

Lesenswert?

Hab da mal schnell was zum Spielen zusammengepfuscht (siehe Anhang).

von Draco (Gast)


Angehängte Dateien:

Lesenswert?

Und nochmal in weiß ohne unnötige Division.

von Sam .. (sam1994)


Angehängte Dateien:

Lesenswert?

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.

von Draco (Gast)


Lesenswert?

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)

von Rolf Magnus (Gast)


Lesenswert?

Interessant wäre auch eine Version, die z.B. über OpenCL komplett alles 
in der Grafikkarte berechnet.

von Draco (Gast)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Sam .. (sam1994)


Angehängte Dateien:

Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Sam .. (sam1994)


Lesenswert?

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?

von Sam .. (sam1994)


Lesenswert?

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.

von oggyboggy (Gast)


Lesenswert?

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.

von oggyboggy (Gast)


Lesenswert?

und das mit kollisionserkennung.

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
Noch kein Account? Hier anmelden.