void Renderer::_renderCamera(Camera* cam) { RenderTarget* rt = cam->GetRenderTarget(); if (!rt) return; cameraRendering = cam; rt->Bind(); _setZWrite(true); _setZTest(true); glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); std::vector<Renderable*> sorted(renderables.begin(), renderables.end()); std::sort(sorted.begin(), sorted.end(), renderableCompare()); std::vector<Renderable*>::iterator rIt; for (rIt = sorted.begin(); rIt != sorted.end(); rIt++) { (*rIt)->Update(); //_render(cam, (*rIt)); (*rIt)->Render(cam); } //Go through post-processes _renderPostProcess(rt->GetPostProcess()); }