#include <Engine.h>
Öffentliche Methoden | |
| virtual | ~Engine () |
| 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 Engine * | getInstance () |
| Liefert die Singleton-Instanz. | |
Geschützte Methoden | |
| Engine () | |
| Konstruktor. | |
Private Methoden | |
| 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 | 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. | |
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 |
| LightManager * | m_lightManager |
| Frustum * | m_frustum |
| SkyBox * | m_skyBox |
| AnimationManager * | m_animationManager |
| PartikelManager * | m_partikelManager |
| SurfaceCache * | m_surfaceCache |
| Renderer * | m_renderer |
| int | m_height |
| int | m_width |
| Vec | m_camdir |
| Vec | m_campos |
| Matrix | m_matTranslate |
| Matrix | m_matRotate |
| Matrix | m_matAnimate |
| bool | m_isRendererInitialized |
| std::vector< Tile * > | m_tileList |
| std::vector< Partikel * > | m_partikelList |
| Text * | m_text |
| std::vector< Text * > | m_textList |
Statische private Attribute | |
| static Engine * | _instance = 0 |
| Engine::Engine | ( | ) | [protected] |
Konstruktor.
| Engine::~Engine | ( | ) | [virtual] |
Destruktor.
| Engine * Engine::getInstance | ( | ) | [static] |
Liefert die Singleton-Instanz.
| void Engine::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 Engine::renderFrame | ( | ) |
Rendert genau ein Frame.
| void Engine::saveAsMapfile | ( | char * | fname | ) |
Speichert die Map in eine (binaere) Mapdatei.
| fname | Pfad+Dateiname+Extension der Map-Datei |
| bool Engine::loadMapfile | ( | char * | fname | ) |
laedt die (binaere) Mapdatei
| fname | Pfad+Dateiname+Extension der Map-Datei |
| void Engine::calcAnimation | ( | void | ) |
Berechnung des Animationsverhalten.
| void Engine::calcLightMapGrid | ( | ) |
Berechnet die Lightmap-Grids.
| void Engine::calcLightMap | ( | ) |
Berechnet die Lightmaps.
| bool Engine::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 Engine::getFrameRate | ( | void | ) |
Getter fuer die Framerate.
| int Engine::getTilesPerFrame | ( | void | ) |
Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.
| int Engine::getPartikelsPerFrame | ( | void | ) |
| void Engine::animate | ( | void | ) | [private] |
Animiert alle scrollbaren Texturen.
| void Engine::culling | ( | int | zoneNr, | |
| Frustum & | frust | |||
| ) | [private] |
| void Engine::paintZone | ( | ) | [private] |
Render alle Tiles aus der Zone.
| void Engine::paint2D | ( | int | zoneNr, | |
| Frustum & | frustum | |||
| ) | [private] |
| void Engine::paintSkyBox | ( | ) | [private] |
Rendert die SkyBox.
| void Engine::sortBack2Front | ( | ) | [private] |
Tiefensortierung, auch Painter's Algorithm genannt: Funktioniert leider nur bei einfachen, statischen maps. Deshalb wurde mittlerweile auf den Z-Buffer umgestellt.
| void Engine::solveZConflicts | ( | void | ) | [private] |
Versucht Z-Konflikte zu loesen. Leider mit maessigem Erfolg.
Engine * Engine::_instance = 0 [static, private] |
bool Engine::m_drawInfo [private] |
bool Engine::m_usePortalFrustum [private] |
bool Engine::m_rendering [private] |
Timer Engine::m_timer [private] |
double Engine::m_frameRate [private] |
int Engine::m_partikelCount [private] |
Map* Engine::m_map [private] |
Camera* Engine::m_camera [private] |
EngineIO* Engine::m_engineIO [private] |
LightManager* Engine::m_lightManager [private] |
Frustum* Engine::m_frustum [private] |
SkyBox* Engine::m_skyBox [private] |
AnimationManager* Engine::m_animationManager [private] |
PartikelManager* Engine::m_partikelManager [private] |
SurfaceCache* Engine::m_surfaceCache [private] |
Renderer* Engine::m_renderer [private] |
int Engine::m_height [private] |
int Engine::m_width [private] |
Vec Engine::m_camdir [private] |
Vec Engine::m_campos [private] |
Matrix Engine::m_matTranslate [private] |
Matrix Engine::m_matRotate [private] |
Matrix Engine::m_matAnimate [private] |
bool Engine::m_isRendererInitialized [private] |
std::vector<Tile*> Engine::m_tileList [private] |
std::vector<Partikel*> Engine::m_partikelList [private] |
Text* Engine::m_text [private] |
std::vector<Text*> Engine::m_textList [private] |
1.5.5