Back to bsyte

Zephyr Klassenreferenz

Die Hauptklasse der Zephyr 3D Engine Dieser Klasse beinhaltet ALLE Methoden, die fuer die Nutzung der Engine benoetigt werden. Mehr ...

#include <Zephyr.h>

Aufstellung aller Elemente

Öffentliche Methoden

virtual ~Zephyr ()
 Destruktor.
void initRenderer (int width, int height, BYTE *data)
 Initialisiert den Renderer.
void renderFrame ()
 Rendert genau ein Frame.
void saveAsMapfile (char *fname)
 Speichert die Map in eine (binaere) Mapdatei.
bool loadMapfile (char *fname)
 laedt die (binaere) Mapdatei
void calcAnimation ()
 Berechnung des Animationsverhalten.
void calcLightMapGrid ()
 Berechnet die Lightmap-Grids.
void calcLightMap ()
 Berechnet die Lightmaps.
bool inputKey (bool pressed, int key)
 Wertet die Tastatureingabe aus. Tasten sind in Keys.h definiert Bei Bewegungstasten wird die Cameraposition neu berechnet Einige Tasten veraendern die Lichteinstellung Einige Tasten loesen Spezialfunktionen aus Alle anderen Tasten werden ignoriert.
double getFrameRate (void)
 Getter fuer die Framerate.
int getTilesPerFrame (void)
 Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.
int getPartikelsPerFrame (void)
 Getter fuer die Anzahl der gerenderten Partikel im aktuellen Frame.

Öffentliche, statische Methoden

static ZephyrgetInstance ()
 Liefert die Singleton-Instanz.

Geschützte Methoden

 Zephyr ()
 Konstruktor.

Private Methoden

void clearZBuffer (void)
 Loescht den Z-Buffer.
void animate (void)
 Animiert alle scrollbaren Texturen.
void culling (int zone, Frustum &frust)
 Culling.
void paintZone ()
 Render alle Tiles aus der Zone.
void paint2D (int zone, Frustum &frust)
 Rendert Partikel, Sprites, etc.
void paintSkyBox ()
 Rendert die SkyBox.
void paintSkyBox_old ()
 Rendert die SkyBox.
void sortBack2Front ()
 Tiefensortierung, auch Painter's Algorithm genannt: Funktioniert leider nur bei einfachen, statischen maps. Deshalb wurde mittlerweile auf den Z-Buffer umgestellt.
void solveZConflicts (void)
 Versucht Z-Konflikte zu loesen. Leider mit maessigem Erfolg.
void clearPlane ()
 Loescht die Canvas (kann aus Performanzgruenden entfallen).

Private Attribute

bool m_drawInfo
bool m_usePortalFrustum
bool m_rendering
Timer m_timer
double m_frameRate
int m_partikelCount
Mapm_map
Cameram_camera
EngineIOm_engineIO
Lightm_light
Frustumm_frustum
TextureMapperm_tm
SkyBoxm_skyBox
AnimationPoolm_animationPool
PartikelManagerm_partikelManager
SpriteMapperm_spriteMapper
Charsetm_charset
SurfaceCachem_surfaceCache
int m_height
int m_width
BYTE * m_PlanePixels
float * m_ZBuffer
Vec m_camdir
Vec m_campos
Matrix m_matTranslate
Matrix m_matRotate
Matrix m_matAnimate
bool m_isRendererInitialized
std::vector< Tile * > m_tileList

Statische private Attribute

static Zephyr_instance = 0


Ausführliche Beschreibung

Die Hauptklasse der Zephyr 3D Engine Dieser Klasse beinhaltet ALLE Methoden, die fuer die Nutzung der Engine benoetigt werden.

Beschreibung der Konstruktoren und Destruktoren

Zephyr::Zephyr (  )  [protected]

Konstruktor.

Zephyr::~Zephyr (  )  [virtual]

Destruktor.


Dokumentation der Elementfunktionen

Zephyr * Zephyr::getInstance (  )  [static]

Liefert die Singleton-Instanz.

Rückgabe:
Pointer auf die Instanz

void Zephyr::initRenderer ( int  width,
int  height,
BYTE *  data 
)

Initialisiert den Renderer.

Parameter:
width Breite der Canvas (Bildschirmfenster)
height Hoehe der Canvas (Bildschirmfenster)
data Referenz auf den Canvas-Datenbereich

void Zephyr::renderFrame (  ) 

Rendert genau ein Frame.

void Zephyr::saveAsMapfile ( char *  fname  ) 

Speichert die Map in eine (binaere) Mapdatei.

Parameter:
fname Pfad+Dateiname+Extension der Map-Datei

bool Zephyr::loadMapfile ( char *  fname  ) 

laedt die (binaere) Mapdatei

Parameter:
fname Pfad+Dateiname+Extension der Map-Datei

void Zephyr::calcAnimation ( void   ) 

Berechnung des Animationsverhalten.

void Zephyr::calcLightMapGrid (  ) 

Berechnet die Lightmap-Grids.

void Zephyr::calcLightMap (  ) 

Berechnet die Lightmaps.

bool Zephyr::inputKey ( bool  pressed,
int  key 
)

Wertet die Tastatureingabe aus. Tasten sind in Keys.h definiert Bei Bewegungstasten wird die Cameraposition neu berechnet Einige Tasten veraendern die Lichteinstellung Einige Tasten loesen Spezialfunktionen aus Alle anderen Tasten werden ignoriert.

Parameter:
pressed true-->Key pressed, false-->Key released
key Tastaturcode
Rückgabe:
true->Frame muss neu berechnet werden, false->Keine Aktion noetig

double Zephyr::getFrameRate ( void   ) 

Getter fuer die Framerate.

Rückgabe:
frames per second

int Zephyr::getTilesPerFrame ( void   ) 

Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.

Rückgabe:
tiles per frame

int Zephyr::getPartikelsPerFrame ( void   ) 

Getter fuer die Anzahl der gerenderten Partikel im aktuellen Frame.

Rückgabe:
partikel per second

void Zephyr::clearZBuffer ( void   )  [private]

Loescht den Z-Buffer.

void Zephyr::animate ( void   )  [private]

Animiert alle scrollbaren Texturen.

void Zephyr::culling ( int  zoneNr,
Frustum frust 
) [private]

Culling.

Parameter:
zoneNr Es werden nur Tiles berucksichtigt die zu dieser Zone gehoeren
frust Das Frustum. Es kann das normale Frustum sein, oder ein verkleinertes, welches durch ein Portal guckt.

void Zephyr::paintZone (  )  [private]

Render alle Tiles aus der Zone.

void Zephyr::paint2D ( int  zoneNr,
Frustum frustum 
) [private]

Rendert Partikel, Sprites, etc.

Parameter:
zoneNr 
frustum 

void Zephyr::paintSkyBox (  )  [private]

Rendert die SkyBox.

void Zephyr::paintSkyBox_old (  )  [private]

Rendert die SkyBox.

void Zephyr::sortBack2Front (  )  [private]

Tiefensortierung, auch Painter's Algorithm genannt: Funktioniert leider nur bei einfachen, statischen maps. Deshalb wurde mittlerweile auf den Z-Buffer umgestellt.

void Zephyr::solveZConflicts ( void   )  [private]

Versucht Z-Konflikte zu loesen. Leider mit maessigem Erfolg.

void Zephyr::clearPlane (  )  [private]

Loescht die Canvas (kann aus Performanzgruenden entfallen).


Dokumentation der Datenelemente

Zephyr * Zephyr::_instance = 0 [static, private]

bool Zephyr::m_drawInfo [private]

bool Zephyr::m_rendering [private]

double Zephyr::m_frameRate [private]

int Zephyr::m_partikelCount [private]

Map* Zephyr::m_map [private]

Light* Zephyr::m_light [private]

int Zephyr::m_height [private]

int Zephyr::m_width [private]

BYTE* Zephyr::m_PlanePixels [private]

float* Zephyr::m_ZBuffer [private]

Vec Zephyr::m_camdir [private]

Vec Zephyr::m_campos [private]

std::vector<Tile*> Zephyr::m_tileList [private]


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:

Generated on Sat Oct 24 15:17:50 2009 for engine3d by doxygen 1.5.5