#include <Zephyr.h>
Ö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 Zephyr * | getInstance () |
| 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 |
| Map * | m_map |
| Camera * | m_camera |
| EngineIO * | m_engineIO |
| Light * | m_light |
| Frustum * | m_frustum |
| TextureMapper * | m_tm |
| SkyBox * | m_skyBox |
| AnimationPool * | m_animationPool |
| PartikelManager * | m_partikelManager |
| SpriteMapper * | m_spriteMapper |
| Charset * | m_charset |
| SurfaceCache * | m_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 |
| Zephyr::Zephyr | ( | ) | [protected] |
Konstruktor.
| Zephyr::~Zephyr | ( | ) | [virtual] |
Destruktor.
| Zephyr * Zephyr::getInstance | ( | ) | [static] |
Liefert die Singleton-Instanz.
| void Zephyr::initRenderer | ( | int | width, | |
| int | height, | |||
| BYTE * | data | |||
| ) |
Initialisiert den Renderer.
| 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.
| fname | Pfad+Dateiname+Extension der Map-Datei |
| bool Zephyr::loadMapfile | ( | char * | fname | ) |
laedt die (binaere) Mapdatei
| 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.
| pressed | true-->Key pressed, false-->Key released | |
| key | Tastaturcode |
| double Zephyr::getFrameRate | ( | void | ) |
Getter fuer die Framerate.
| int Zephyr::getTilesPerFrame | ( | void | ) |
Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.
| int Zephyr::getPartikelsPerFrame | ( | void | ) |
| 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] |
| void Zephyr::paintZone | ( | ) | [private] |
Render alle Tiles aus der Zone.
| void Zephyr::paint2D | ( | int | zoneNr, | |
| Frustum & | frustum | |||
| ) | [private] |
| 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).
Zephyr * Zephyr::_instance = 0 [static, private] |
bool Zephyr::m_drawInfo [private] |
bool Zephyr::m_usePortalFrustum [private] |
bool Zephyr::m_rendering [private] |
Timer Zephyr::m_timer [private] |
double Zephyr::m_frameRate [private] |
int Zephyr::m_partikelCount [private] |
Map* Zephyr::m_map [private] |
Camera* Zephyr::m_camera [private] |
EngineIO* Zephyr::m_engineIO [private] |
Light* Zephyr::m_light [private] |
Frustum* Zephyr::m_frustum [private] |
TextureMapper* Zephyr::m_tm [private] |
SkyBox* Zephyr::m_skyBox [private] |
AnimationPool* Zephyr::m_animationPool [private] |
PartikelManager* Zephyr::m_partikelManager [private] |
SpriteMapper* Zephyr::m_spriteMapper [private] |
Charset* Zephyr::m_charset [private] |
SurfaceCache* Zephyr::m_surfaceCache [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] |
Matrix Zephyr::m_matTranslate [private] |
Matrix Zephyr::m_matRotate [private] |
Matrix Zephyr::m_matAnimate [private] |
bool Zephyr::m_isRendererInitialized [private] |
std::vector<Tile*> Zephyr::m_tileList [private] |
1.5.5