void RenderManager::StartUp() { CreateGlutWindow(800,600,"OpenUniverse"); CheckOpenGLVersion(); firstPersonCamera.Init(0,0,1000); clk_instance=ProgramClock::get(); objects.Init(clk_instance.CurrentTime()); Star temp; for(int i=0;i<1000;i++) { objects.CreateRandomModelMatrix(2,100,-1000,1000,temp); objects.Add(temp); } objects.CreateInstancedArray(objects.base,objects.listofMatrices); InitTextResources(); //glutFullScreen(); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); Render::ChangeSize(boost::bind(&RenderManager::ChangeSize,this,_1,_2)); Render::Render(boost::bind(&RenderManager::Render,this)); Render::SetEvents(); }
CWindowClient::CWindowClient(CWindow &window) : CAbstractWindowClient(window) , m_quadObj(QUAD_TOPLEFT, QUAD_SIZE) { const glm::vec4 GREEN = { 0.15f, 0.4f, 0.15f, 1.f }; GetWindow().SetBackgroundColor(GREEN); CheckOpenGLVersion(); SetupOpenGLState(); const std::string vertexShader = CFilesystemUtils::LoadFileAsString("res/copytexture.vert"); const std::string checkersShader = CFilesystemUtils::LoadFileAsString("res/checkers.frag"); const std::string pictureShader = CFilesystemUtils::LoadFileAsString("res/checkers-and-triangle.frag"); m_programCheckers.CompileShader(vertexShader, ShaderType::Vertex); m_programCheckers.CompileShader(checkersShader, ShaderType::Fragment); m_programCheckers.Link(); m_programPicture.CompileShader(vertexShader, ShaderType::Vertex); m_programPicture.CompileShader(pictureShader, ShaderType::Fragment); m_programPicture.Link(); m_programQueue = { &m_programPicture, &m_programCheckers }; }