00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_NELU_H
00027 #define NL_NELU_H
00028
00029 #include "nel/misc/types_nl.h"
00030 #include "nel/misc/smart_ptr.h"
00031 #include "3d/scene.h"
00032 #include "3d/shape_bank.h"
00033 #include "3d/dru.h"
00034 #include "nel/misc/event_server.h"
00035 #include "nel/misc/event_listener.h"
00036 #include "nel/misc/rgba.h"
00037
00038
00039 namespace NL3D
00040 {
00041
00042
00043 using NLMISC::CSmartPtr;
00044
00045
00060 class CNELU
00061 {
00062 public:
00063
00064 static const float DefLx;
00065 static const float DefLy;
00066 static const float DefLzNear;
00067 static const float DefLzFar;
00068
00069
00070 public:
00076 static bool initDriver(uint w, uint h, uint bpp=32, bool windowed=true, void *systemWindow=NULL, bool offscreen=false) throw(EDru);
00077
00087 static void initScene(CViewport viewport=CViewport());
00088
00093 static void initEventServer();
00094
00095
00098 static void releaseDriver();
00099
00102 static void releaseScene();
00103
00106 static void releaseEventServer();
00107
00110 static void screenshot();
00111
00112 public:
00113
00120 static bool init(uint w, uint h, CViewport viewport=CViewport(), uint bpp=32, bool windowed=true, void *systemWindow=NULL, bool offscreen = false) throw(EDru);
00121
00127 static void release();
00128
00129
00131 static void clearBuffers(NLMISC::CRGBA col= NLMISC::CRGBA(0,0,0,0));
00133 static void swapBuffers();
00134
00135
00136
00137 public:
00138 static IDriver *Driver;
00139 static CScene Scene;
00140 static CShapeBank *ShapeBank;
00141 static CRefPtr<CCamera> Camera;
00142 static NLMISC::CEventServer EventServer;
00143 static NLMISC::CEventListenerAsync AsyncListener;
00144
00145 };
00146
00147
00148 }
00149
00150
00151 #endif // NL_NELU_H
00152
00153