PolycodeOVR::PolycodeOVR(Scene *parentScene) { this->parentScene = parentScene; cameraRoot = new Entity(); leftCamera = new Camera(parentScene); rightCamera = new Camera(parentScene); leftCamera->setClippingPlanes(0.001, 100.0); leftCamera->frustumCulling = false; rightCamera->setClippingPlanes(0.001, 100.0); rightCamera->frustumCulling = false; cameraRoot->addChild(leftCamera); cameraRoot->addChild(rightCamera); initOVR(); }
void Renderer::init() { #ifdef OCULUSVR initOVR(); #endif SDL_GL_SetSwapInterval(1); // vsync glEnable(GL_DEPTH_TEST); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); // the default is 4 glEnable(GL_PRIMITIVE_RESTART); glPrimitiveRestartIndex(0xFFFF); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); skyRenderer_.reset(new SkyRenderer()); landRenderer_.reset(new LandRenderer()); structureRenderer_.reset(new StructureRenderer()); modelRenderer_.reset(new ModelRenderer()); landRenderer_->setLightPosition(skyRenderer_->sunVector() * fp_t(1000.0)); }