directx-engine, mainloop, klassen
-
hallo
ich hab keine ahnung wie ich am gescheitesten den mainloop mit directx9 realisiere, wenn ich alles was ich brauche in klassen packe, also z.b. sowas wie CBitmap (die hat dann eine drawmethode). irgendwie ergibt das alles keinen gescheiten kontrollfluss. wie soll ich den mainloop am besten aufbauen? soll ich mir eine virtuelle funktion schreiben, die immer ein mal pro loop automatisch aufgerufen wird, und in der ich dann mein programm reinschreibe, oder gibts da noch was besseres? bitte helft mir ich habe keinen guten ansatz und die directx beispiele (die mit den klassen) sind viel zu kompliziert und unübersichtlich.
danke
-
directx beispiele (die mit den klassen) sind viel zu kompliziert und unübersichtlich.
Dann lerne Basic.
-
ich weis zwar nicht genau dein problem. aber vielleicht hilft dir mein ansatz etwas.
// main.cpp #include "engine.h" int main(int argc, char *argv[]) { Engine *m_pEngine; m_pEngine = new Engine(argc, argv); return(0); } //////////////////////////////////////////////////// // engine.h #ifndef __ENGINE_H #define __ENGINE_H // alles was du brauchst inkludieren class Engine { public: Engine(int argc, char *argv[]); ~Engine(); private: bool Init(); void MainLoop(); bool m_bDone; // gamestate, config, pointer auf andere klassen, usw .... }; #endif //////////////////////////////////////////////////// // engine.cpp #include "engine.h" Engine::Engine(int argc, char *argv[]) { // config lesen, fenster ertsellen, usw. if(!Init()) exit(0); m_bDone = false; MainLoop(); } Engine::~Engine() { // aufräumen } bool Engine::Init() { return true; } void Engine::MainLoop() { while(!m_bDone) { // input, rendern, usw.... } }
ps: ist nicht das nonplusaltra
[ Dieser Beitrag wurde am 04.06.2003 um 11:26 Uhr von miller_m editiert. ]
-
Also ich hab das immer so gemacht:
int WINAPI WinMain(...){ CEngine *myEngine; myEngine = new CEngine(...); while(bRunning){ myEngine->Render(); } return 0; }
ciao
-
@miller_m & paranoiac.org
schämt euchIhr benutzt new und kein delete
schämt euch aber derbe
Sowas macht man aber net
nebenbei, Exceptions kommen besser als bool
[ Dieser Beitrag wurde am 05.06.2003 um 20:04 Uhr von Ikari editiert. ]
-
... nicht das ich es für gut empfinde new ohne delete zu programmieren, aber der Speicher wird hinterher automatisch von Windows Nach Programmende freigegeben...
gruß
dose
-
Original erstellt von dose:
... nicht das ich es für gut empfinde new ohne delete zu programmieren, aber der Speicher wird hinterher automatisch von Windows Nach Programmende freigegeben...
gruß
doseNaja man sollte das aber nicht immer auf Windows beschränken
weil nicht jedes OS kann das