basic02.cc
Go to the documentation of this file.00001
00031 #include "kernel/nkernelserver.h"
00032 #include "kernel/nfileserver2.h"
00033 #include "resource/nresourceserver.h"
00034 #include "gfx2/ngfxserver2.h"
00035
00036
00037 nNebulaUsePackage(nnebula);
00038 nNebulaUsePackage(ndirect3d9);
00039
00040 int
00041 main(int , const char** )
00042 {
00043 nKernelServer* kernelServer = new nKernelServer();
00044
00045
00046 kernelServer->AddPackage(nnebula);
00047 kernelServer->AddPackage(ndirect3d9);
00048
00049 nRef<nResourceServer> refResourceServer;
00050 nRef<nGfxServer2> refGfxServer;
00051 refResourceServer = (nResourceServer*)kernelServer->New("nresourceserver", "/sys/servers/resource");
00052 refGfxServer = (nGfxServer2*)kernelServer->New("nd3d9server", "/sys/servers/gfx");
00053
00054
00055
00056 kernelServer->GetFileServer()->SetAssign("shaders", "home:data/shaders/fixed");
00057
00058 nDisplayMode2 DisplayMode(
00059 "Nebula2: Basic Example 02",
00060 nDisplayMode2::Windowed,
00061 0, 0,
00062 640, 480,
00063 false, false, "icon");
00064 refGfxServer->SetDisplayMode(DisplayMode);
00065
00066 bool result;
00067 result = refGfxServer->OpenDisplay();
00068 n_assert(result);
00069
00070
00071
00072 nGfxServer2* gfxServer = refGfxServer.get();
00073
00074
00075
00076 while (gfxServer->Trigger())
00077 {
00078 gfxServer->BeginFrame();
00079 gfxServer->BeginScene();
00080 gfxServer->Clear(nGfxServer2::AllBuffers, 0.0f, 0.8f, 0.6f, 0.4f, 0.0f, 0);
00081
00082 gfxServer->EndScene();
00083 gfxServer->PresentScene();
00084 gfxServer->EndFrame();
00085
00086
00087 n_sleep(0.0);
00088 }
00089
00090 refGfxServer->CloseDisplay();
00091
00092 refGfxServer->Release();
00093 refResourceServer->Release();
00094
00095 delete kernelServer;
00096 return 0;
00097 }