Back to bsyte

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
AnimationZustandklasse fuer eine Animation
AnimationManagerAnimationManager
AStep
CameraDer Player blickt in der 3D-Raum durch eine (imaginaere) Kamera, die sich an der Spitze des Frustums befindet. Ueber Tastatur und Maus wird die Kamera im Raum bewegt
Canvas3DSchnittstelle zur Render-Engine. Beinhaltet OS-spezifisches Sourcecode
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)
DataOutputStreamAllgemeine Klasse fuer einen Streamwriter
DefHashKey
EngineDie Hauptklasse der 3D Engine Dieser Klasse beinhaltet ALLE Methoden, die fuer die Nutzung der Engine benoetigt werden
EngineIOEngineIO
FrustumDas Frustum beschreibt typischerweise den Sichtbereich der Kamera. Es ist als Pyramidenstumpf mit vier Seiten, der Nearplane (Deckfläche) und der Farplane(Grundfläche). Die Kamera befindet sich an der Pyramidenspitze. Die Nearplane repräsentiert die Bildschirmflächen, während die Farplane den Sichtbereich in der Ferne begrenzt
ImageGenerische Klasse fuer Images, Bitmaps
LightMapLightMap
LightPointKlasse fuer ein Punktlicht
LineKlasse einer Line
LoggingLogging-Klasse als Singleton
MapContainer fuer die Map
MaterialContainer fuer ein Material
MaterialManagerContainer fuer alle Materialien
MatrixMatrixklasse
Object2DBeschreibt ein rechteckiges 2D-Objekt im 3D-Raum (typ. Sprites, Partikel...)
Object3D
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
PolygonPolygon
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() nach 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 (insbesondere durch Drehen) muessen alle neuen Surfaces in den Cache geladen werden. Das macht sich durch einen Einbruch in der Framerate bemerkbar (Bildruckler). Besser: Den Fuellstand des Caches immer voll ausnutzen. Erst wenn mehr 100% erreicht wurde, nicht genutzte Surfaces entfernen
TextEinfache Textklasse
Text::TEXTLINE_DEF
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