Auflistung der Klassen

Hier folgt die Aufzählung aller Klassen, Strukturen, Varianten und Schnittstellen mit einer Kurzbeschreibung:
AnimationZustandklasse fuer eine Animation
AnimationManagerContainer fuer alle Animationen
CameraRepraesentiert die Camera, bzw. das Auge des Spielers das in der Spitze des Frustums sitzt. Konkret wird die Camera in der Map bewegt. Nach einem 'Move' wird die Transformationsmatrix der Camera bezogen zum zum Ursprung berechnet um anschliessend die Weltobjekte in das Frustum zu transformieren
Canvas3DSchnittstelle zur Render-Engine. Beinhaltet OS-spezifische Unterscheidungen
DataInputStreamWrapperklasse zum lesen von Daten aus einer Binaerdatei. Die Binaerdatei wird aus einer Java-Applikation heraus geschrieben. Daher sind einige Besonderheiten bzgl. der unterschiedlichen Ablage von Variablen zu beachten (Stichwort 'Byteorder' von Integers, Floats und Doubles)
DataOutputStreamDataOutputStream
EngineDie Hauptklasse der 3D Engine Dieser Klasse beinhaltet ALLE Methoden, die fuer die Nutzung der Engine benoetigt werden
EngineIOEngineIO
FrustumDas Frustum ist der Sichtpyramide mit (normalerweise) vier Seiten, an deren Spitze sich das Auge des Betrachters, bzw. die Camera befindet. Die Frustumspitze ist fest verankert in 0,0,0. Wenn also die Camera, bzw. der Spieler den Standort aendert, wird die Welt in das Frustum hineinbewegt. Das ist nicht optimal. Performanter waere es, das Frustum mit der Camera zu bewegen. Auf der anderen Seite vereinfacht es einige Algorithmen, wenn der Ursprung in 0,0,0 sitzt
ImageGenerische Klasse fuer Images, Bitmaps
LightContainerklasse fuer alle Lichtquellen
LightManager
LightMapLightMap
LightPointKlasse fuer ein Punktlicht
LightZoneKlasse fuer eine Zone: Es gibt nur eine Lichtumgebung pro Zone In einer Zone kann es nur ein Directional Light geben Eine Zone kann beliebig viele PointLights enthalten
LineKlasse einer Line
LoggingEinfache Logging-Klasse (noch nicht wirklich implementiert)
MapContainer fuer die Map
MaterialContainer fuer ein Material
MaterialManagerContainer fuer alle Materialien
MatrixMatrixklasse
Object2DBeschreibt ein rechteckiges 2D-Objekt im 3D-Raum (typ. Sprites, Partikel...)
PartikelPartikel werden fuer die Darstellung von Feuer, Rauch, Funken, Regen usw. verwendet. Typ. wird ein Partikel durch ein 2D-Objekt repraesentiert, dem eine semitransparente Bitmap (hier Sprite genannt) fuer die Darstellung zugeordnet ist. Partikel koennen sich bewegen oder auch stationaer zein (Blinklichter). Sie haben eine Emitter, einen Lebenszyklus und noch ein paar weitere Attribute. Um 'realistische' Bewegungsablaeufe zu simulieren, wird stark mit Zufallswerten gearbeitet
PartikelManagerMuesste eigentlich PartikelSystemManger heissen. Es verwaltet alle Partikelsysteme und alle Sprites, die fuer die Darstellung der einzelnen Partikel gebraucht werden
PartikelSystemEin Partikelsystem beschreibt das Verhalten von Partikeln, die zu diesem System gehoeren
PlanePlane
RendererDie Hauptklasse der Renderer 3D Engine Dieser Klasse beinhaltet ALLE Methoden, die fuer die Nutzung der Engine benoetigt werden
SkyBoxSkyBox Klasse
SpriteSprites werden fuer Partikel verwendet. Eine Sprite ist wie eine Texture, nur einfacher gestrickt. Ausserdem sind die Pixel einer Sprite semitransparent
SpriteMapperRendert die Sprites (2D-Objekte) auf die Canvas unter Beruecksichtigung der Smitransparenz
SurfaceEine Surface (Oberflaeche) besteht aus Textur + Lightmap Die Datenablage erfolgt maximal performant fuer den TexturMapper --> RGB pro Pixel
SurfaceCacheDer SurfaceCache ist ein Container fuer alle Surfaces, die in einem Frame gerendert werden müssen. Die Anzahl der Surfaces im Cache ist auf MAX_SURFACES begrenzt. Damit der Cache nicht ueberlaeuft, muessen ungenutzte Eintraege entfernt werden. Die Strategie sieht wie folgt aus: Jedes Surfaceobjekt besitzt einen Zaehler der in der Methode refresh() inkrementiert wird. Erreicht der Zaehler eine bestimmte Grenze (MAX_DROP), wird das Objekt aus dem Cache entfernt. Typ. wird refresh() bei jedem Frame einmal aufgerufen. Jeder Aufruf der Methode getSurface() setzt den Zaehler auf 0 zurueck. Wird ein Surfaceobjekt immer wieder fuer ein Frame verwendet, kann der Zaehler nicht die Grenze erreichen und wird damit auch nicht aus dem Cache entfernt. Diese Strategie minmiert dynamisch den Speicherbedarf. Nachteil: Bewegt sich die Kamera uber eine laengere Zeit nicht, werden alle nichtgenutzten Surfaces aus dem Cache entfernt. Wird nun die Kamera position veraendert (z.B. durch Drehen) muessen alle neuen Surfaces in den Cache geladen werden. Das macht sich durch einen Einbruch in der Framerate bemerkbar. Besser: Den Fuellstand des Caches immer voll ausnutzen. Erst wenn mehr 100% erreicht wurde, nicht genutzte Surfaces entfernen
TArcTArc
TextEinfache Textklasse
TextMapperTextMapper Klasse
TextureEine Texture
TextureMapperProjiziert eine Texture aus dem 3D Raum in den 2D Raum
TileDie Tile ist eine Spezialisierung eines Polygons. Es beschreibt ein Rechteck im 3D-Raum. Der Tile ist eine Textur zugewiesen, die genau in diese vier Eckpunkte eingespannt ist. Sie wird im Texuremapper auf die Canvas projiziert
TimerAllgemeine Klasse fuer einen hochaufloesenden Timer (Plattformabhaengig, siehe WIN32 Sections)
TriangleTriangle
TriggerZeitgesteuerte Zustandsklasse
Vec3D-Vektor (Linkshaendiges Koordinatensystem)
VertexVertex (Abgeleitet von einem Vec(tor) und um u,v Koordinaten erweitert)
ZoneContainer-Klasse fuer alle Tiles die zu einer Zone gehoeren

Generated on Sun Nov 1 16:26:42 2009 for engine3d by doxygen 1.5.5