Partikelsystem:

Als Referenz für das Partikelsystem diente die Tutorial seite von NEHE: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19
Die Darstellung der Partikel erfolgt über Point Sprites. Als Referenz dafür wurden http://www.informit.com/articles/article.aspx?p=770639&seqNum=7 und  http://www.codesampler.com/oglsrc/oglsrc_6.htm#ogl_point_sprites verwendet. 

Bei den sogenannten target-particles wird ein Würfel gebildet, auf dessen Kanten sich die Partikel bewegen. Die Größe des Würfels wird an die Dimension des aktuellen markierten Lego-Steins angepasst. Die Position des Steins wird ausgelesen und anschließend werden die Partikel mit dessen Matrix transformiert, sodass sie korrekt rotiert positioniert sind. Im Gegensatz zu den oben genannten Quellen werden in BlockBusta keine Ebenen verwendet, die die Ausbreitung der Partikel steuern. Für den Traktorstrahl bekommen die einzelnen Partikel eine Position zwischen den beiden Punkten (markierter Stein und Spieler) zufällig zugeordnet. Dann wird jedes Partikel entlang des jeweiligen Strahls bewegt.


Besonderheiten des Md2-Loaders:

Aufgrund von Schwierigkeiten beim Exportieren von .blend in .md2 files (Normalvektoren waren nicht korrekt) werden diese beim Laden des Spiels berechnet. Dabei wird für das flatshading für jedes Triangle ein Normalvektor berechnet. Um die vertex-normals zu berechnen wird folgendermaßen vorgegangen: Für jeden Vertex wird eine Liste von Dreiecken erstellt, in denen diese enthalten sind. Dann wird aus diesen Dreiecken ein Durchschnitts-normalvektor gebildet und dem jeweiligen Vertex zugeordnet. 