Ein Partikelsystem besteht typ. aus einer Vielzahl von geometrielosen Objekten. Es beschreibt
deren Emitterort, die Lebensdauer und die Regeln, nach denen sich diese Partikel bewegen.
Damit lassen sich z.B. Feuer, Rauch, oder Funkenflug simulieren.
Für die Darstellung der Partikel werden semitransparente Texturen verwendet. Diese liegen im BMP-Fromat vor. Jedes Pixel besitzt neben dem eigentlichen RGB Farbwert einen zusätzliche Transparenzwert, den Alphawert. Bei einem Alphawert=0 ist das Pixel vollkommen transparent, bei Alpha=255 ist es voll sichtbar. Nur mit semitransparenten Texturen lassen sich realistische Effekte erzeugen. Hier wird für diese speziellen Texturen der Begriff Sprite verwendet. Ein Partikel kann mehrere Sprites besitzen.
Die Projektion der Partikel auf die Nearplane ist relativ einfach:
Nachdem alle Polygone rerendert wurden, erfolgt das zeichnen der Partikel, bzw. der zugehörigen Sprites. Da die Partikel keine Geometrie im 3D Raum besitzen, müssen sie nur gemäß ihrer Entfernung zur Kamera skaliert und positioniert werden. Ausserdem ist noch der Test mit dem Z-Buffer nötig. Fertig!
Die große Flamme links wird mit insgesammt 33 Sprites animiert. Das Kerzenlicht rechts besteht aus einem einzigen Sprite das am Kerzendocht eingeblendet wird, sich dann eine kurze Wegstrecke nach oben bewegt und dann ausgeblendet wird. Anschließend beginnt die Animation von vorn.
Feuer Sprites: | ![]() |
![]() |
... | ![]() |
Kerzen Sprite: | ![]() |
Rauch Sprite: | ![]() |
Funken Sprite: | ![]() |