Die Aufgabe des OpenGL Miniprojektes war es eine Szene zu entwickeln, in der Fische realistisch durch ein Aquarium umher schwimmen. Dies sollte durch schrittweise Simulation geschehen: jeder Fisch bewegt sich auf jedem Bild ein "Stückchen" weiter. Wohin und wie weit sich der Fisch bewegt wird durch Regeln bestimmt.
Jede Regel bestimmt eine Bewegungsrichtung und wie weit sich der Fisch bewegt: die Gesamtbewegungrichtung und die Gesamtweite der Bewegung wird dadurch bestimmt, dass die einzelnen Ergebnisse aus jeder Regel gemittelt werden.
Jeder Fisch soll dabei zunächst feststellen, ob sich weitere Fische in einem Umkreis befinden: dies ist sein Schwarm.
Regel 1 (separation) besagt: Bewege dich von den Mitgliedern des Schwarms weg, um Kollisionen zu vermeiden. Ändere auch die Richtung, wenn die Wand des Aquariums in die Nähe kommt.
Regel 2 (alignment) besagt: Schaue in welche Richtung die Fische des Schwarms im Mittel schwimmen. Drehe dich etwas, um auch in eine ähnliche Richtung zu schwimmen.
Regel 3 (cohesion) besagt: bestimme das Zentrum des Schwarms (Mittelpunkt der Positionen der einzelnen Fische) und schwimme in diese Richtung.
Weitere Features sind das Anzeigen der Namen des Fisches, eine FramePerSecond Anzeige im Cockpit, ein leuchtender Fisch und Wasserpflanzen.
Als Bonusaufgabe wurde eine silbern glänzende Lampe eingefügt, die mittels Environment Mapping die Umgebung reflektiert.
Des weiteren ist ein Hai eingebaut worden, der die Fische jagt. Die Fische versuchen dem Hai auszuweichen und schaffen dies meist auch.
Entwickelt wurde das Programm mit Microsoft VisualStudio 2005 unter C++. Als Bibliotheken wurden GLUT und GLBMP verwendet.
Jede Regel bestimmt eine Bewegungsrichtung und wie weit sich der Fisch bewegt: die Gesamtbewegungrichtung und die Gesamtweite der Bewegung wird dadurch bestimmt, dass die einzelnen Ergebnisse aus jeder Regel gemittelt werden.
Jeder Fisch soll dabei zunächst feststellen, ob sich weitere Fische in einem Umkreis befinden: dies ist sein Schwarm.
Regel 1 (separation) besagt: Bewege dich von den Mitgliedern des Schwarms weg, um Kollisionen zu vermeiden. Ändere auch die Richtung, wenn die Wand des Aquariums in die Nähe kommt.
Regel 2 (alignment) besagt: Schaue in welche Richtung die Fische des Schwarms im Mittel schwimmen. Drehe dich etwas, um auch in eine ähnliche Richtung zu schwimmen.
Regel 3 (cohesion) besagt: bestimme das Zentrum des Schwarms (Mittelpunkt der Positionen der einzelnen Fische) und schwimme in diese Richtung.
Weitere Features sind das Anzeigen der Namen des Fisches, eine FramePerSecond Anzeige im Cockpit, ein leuchtender Fisch und Wasserpflanzen.
Als Bonusaufgabe wurde eine silbern glänzende Lampe eingefügt, die mittels Environment Mapping die Umgebung reflektiert.
Des weiteren ist ein Hai eingebaut worden, der die Fische jagt. Die Fische versuchen dem Hai auszuweichen und schaffen dies meist auch.
Entwickelt wurde das Programm mit Microsoft VisualStudio 2005 unter C++. Als Bibliotheken wurden GLUT und GLBMP verwendet.