mikrocontroller.net

Forum: PC-Programmierung Faszinierende Computergrafik


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum!

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

tia

Klaus

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Darco (Gast)
Datum:

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

Autor: Draco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab da mal schnell was zum Spielen zusammengepfuscht (siehe Anhang).

Autor: Draco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und nochmal in weiß ohne unnötige Division.

Autor: Sam .. (sam1994)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Rolf Magnus (Gast)
Datum:

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

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sam .. (sam1994)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: oggyboggy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: oggyboggy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und das mit kollisionserkennung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.