
Seit 1999 unter Verwendung von C ++, OpenGL, GLUT und CMAKE
von David McAllister Version 3.0.0 18. April 2022
Gehostet unter https://github.com/davemc0/particle.git. (Zuvor seit 15 Jahren unter: http://www.particlesystems.org.)
Dokumentation ist hier.
Änderungsprotokoll ist hier.
Zukünftige Arbeit ist hier.
Die Partikelsystem-API diente als Ressource für den Aufbau aller Arten interessanter Partikelsystem-basierter Spezialeffekte, hauptsächlich für Spiele und andere interaktive 3D-Grafiken. Version 2.2 wurde in Projekten von über 600 Entwicklern verwendet. Ich habe 2009 die Wartung der Bibliothek fallen lassen, als mein Leben auf Ray Tracing wechselte, aber die Bibliothek nicht öffentlich veranstaltete, so dass sie weitgehend ausgestorben war.
Ich habe kürzlich die API erneut besucht und viele Verbesserungen hinzugefügt. Am wichtigsten ist der Inline -Aktionsmodus . Die Aktionen werden jetzt in Inline -Funktionen implementiert, die für ein Teilchen gelten. Die Anwendung besitzt die Schleife über den Partikeln, sodass ein einzelner Pass über einem Partikel alle Aktionen ausführen kann. Die Leistung ist aus drei Hauptgründen massiv schneller:
Ein paar andere bemerkenswerte Updates:
Das Aufbau von Partikeln kann nur mit diesem Code, CMake und einem C ++ - Compiler erreicht werden. Es hat keine externen Abhängigkeiten.
Die Beispiele und Demos hängen jedoch auch von DMCTools ab: https://github.com/davemc0/dmctools.git
DMCTOOLS hat meine Sammlung von Grafikwerkzeugen - Matrixklasse, Bildmaterial, 3D -Vektorklasse, Zufallsnummern, Timer, 3D -Modelllader usw. Es wird nur von der PSPRAY- und Parbench -Demo benötigt, nicht von der API oder der Beispiel -Demo. DMCTools ist urheberrechtlich geschützt von mir und vielleicht anderen.
Um alles zu bauen, was Sie auch brauchen werden:
Ich setze Umgebungsvariablen für GLUT_HOME und GLEW_HOME unter Windows. Dies sollte unter Linux oder Mac nicht erforderlich sein.
Machen Sie im Hauptverzeichnis so etwas wie:
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cd ..
Dann können Sie aus der Befehlszeile erstellen:
cmake --build build/ --config Release
oder starten build/partikelolution.sln in visual Studio.
Ein OpenGL- und ein glutbasiertes Beispiel für Partikelsysteme, die zum Rendern eines Brunnens verwendet werden
Doppelklicken Sie, um das Programm zu starten.
Drücken Sie 'F', um es zum Vollbild zu schaffen.
Klicken Sie mit der rechten Maustaste im Fenster, um das Menü aufzusetzen. Die Tastaturverknüpfungen sind im Menü aufgeführt.
Wenn Sie es nicht berühren, wird es zufällig die Demos durchlaufen. Dies sollte stundenlanger Familienspaß liefern. Wenn Sie sich langweilen, drücken Sie den Raum, um eine Explosion zu verursachen. Drücken Sie 'M', um eine kühle Bewegung zu verwischen. Drücken Sie 's', um die Partikel nach vorne zu sortieren, um korrekter, aber langsamere Rendering zu erstellen. Drücken Sie 'P', um das zu ändern, was jedes Teilchen gerendert wird.

Dieser führt die gleichen Demo -Effekte aus wie der Spielplatz, aber es macht keine Grafiken. Es verwendet keine OpenGL oder GLUT.
Wenn die Demos nicht für Sie funktionieren, würde ich gerne versuchen, zu helfen. Bitte geben Sie so viel Detail wie möglich über Ihr System und die Art des Problems an.
Wenn Sie Fragen haben, verwenden Codebeiträge oder Vorschläge Github -Probleme oder kontaktieren Sie mich jedoch.
