int main() { Virtual::Cameras::FirstPersonCameraOptions options; g_camera.reset(new Virtual::Cameras::FirstPersonCamera(options)); g_camera->SetPositionAndTarget(Math::vec3(0, 5, 5), Math::vec3(0,0,0), Math::vec3(0,1,0)); System::Window::Instance()->SetTitle(L"OpenGL Init test"); System::Mouse::Instance()->LockInWindow(false); OpenGL::Driver::Instance()->Start(); System::EventManager::Instance()->SubscribeHandler(System::EVENT_IDLE, System::EventHandler(Idle)); System::EventManager::Instance()->SubscribeHandler(System::EVENT_MOUSE_LBUTTON_DOWN, System::EventHandler(OnMouseLeftButtonDown)); System::EventManager::Instance()->SubscribeHandler(System::EVENT_MOUSE_LBUTTON_UP, System::EventHandler(OnMouseLeftButtonUp)); System::EventManager::Instance()->SubscribeHandler(System::EVENT_MOUSE_MOVE, System::EventHandler(OnMouseMove)); m_quad.reset(new OpenGL::QuadObject); m_quad->Cook(2,2); rc.reset(new OpenGL::RenderContextSolid3D); OpenGL::RenderTargetBackBuffer::RenderTargetBackBufferProperties p; rt = OpenGL::Driver::Instance()->CreateRenderTarget(&p); rt->SetClearColor(0, 0, 0, 1); if (!rt) { out_error() << "Render target was not created" << std::endl; return 0; } System::Window::Instance()->Loop(); System::MegaDestroyer::Destroy(); return 0; }