mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-13 15:31:17 -06:00
Feature/globals handling (#1352)
* Cleaner handling of global state * Prevent Lua memory corruption (closes #982) * Initialize glfw first thing to prevent weird joystick loading bug during startup
This commit is contained in:
@@ -401,8 +401,8 @@ void FramebufferRenderer::initialize() {
|
||||
DownscaledVolumeUniformNames
|
||||
);
|
||||
|
||||
global::raycasterManager.addListener(*this);
|
||||
global::deferredcasterManager.addListener(*this);
|
||||
global::raycasterManager->addListener(*this);
|
||||
global::deferredcasterManager->addListener(*this);
|
||||
|
||||
// Set Default Rendering OpenGL State
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_defaultFBO);
|
||||
@@ -418,7 +418,7 @@ void FramebufferRenderer::initialize() {
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
// Save State in Cache
|
||||
global::renderEngine.openglStateCache().loadCurrentGLState();
|
||||
global::renderEngine->openglStateCache().loadCurrentGLState();
|
||||
}
|
||||
|
||||
void FramebufferRenderer::deinitialize() {
|
||||
@@ -452,8 +452,8 @@ void FramebufferRenderer::deinitialize() {
|
||||
glDeleteBuffers(1, &_vertexPositionBuffer);
|
||||
glDeleteVertexArrays(1, &_screenQuad);
|
||||
|
||||
global::raycasterManager.removeListener(*this);
|
||||
global::deferredcasterManager.removeListener(*this);
|
||||
global::raycasterManager->removeListener(*this);
|
||||
global::deferredcasterManager->removeListener(*this);
|
||||
}
|
||||
|
||||
void FramebufferRenderer::raycastersChanged(VolumeRaycaster&,
|
||||
@@ -992,7 +992,7 @@ void FramebufferRenderer::updateRaycastData() {
|
||||
_insideRaycastPrograms.clear();
|
||||
|
||||
const std::vector<VolumeRaycaster*>& raycasters =
|
||||
global::raycasterManager.raycasters();
|
||||
global::raycasterManager->raycasters();
|
||||
|
||||
int nextId = 0;
|
||||
for (VolumeRaycaster* raycaster : raycasters) {
|
||||
@@ -1064,7 +1064,7 @@ void FramebufferRenderer::updateDeferredcastData() {
|
||||
_deferredcastPrograms.clear();
|
||||
|
||||
const std::vector<Deferredcaster*>& deferredcasters =
|
||||
global::deferredcasterManager.deferredcasters();
|
||||
global::deferredcasterManager->deferredcasters();
|
||||
int nextId = 0;
|
||||
for (Deferredcaster* caster : deferredcasters) {
|
||||
DeferredcastData data = { nextId++, "HELPER" };
|
||||
@@ -1148,10 +1148,10 @@ void FramebufferRenderer::render(Scene* scene, Camera* camera, float blackoutFac
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_defaultFBO);
|
||||
|
||||
GLint viewport[4] = { 0 };
|
||||
global::renderEngine.openglStateCache().viewport(viewport);
|
||||
global::renderEngine->openglStateCache().viewport(viewport);
|
||||
|
||||
// Reset Render Pipeline State
|
||||
global::renderEngine.openglStateCache().resetCachedStates();
|
||||
global::renderEngine->openglStateCache().resetCachedStates();
|
||||
|
||||
_pingPongIndex = 0;
|
||||
|
||||
@@ -1165,13 +1165,13 @@ void FramebufferRenderer::render(Scene* scene, Camera* camera, float blackoutFac
|
||||
TracyGpuZone("Deferred G-Buffer")
|
||||
|
||||
GLint vp[4] = {viewport[0], viewport[1], _resolution.x, _resolution.y};
|
||||
global::renderEngine.openglStateCache().setViewportState(vp);
|
||||
global::renderEngine->openglStateCache().setViewportState(vp);
|
||||
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, _gBuffers.framebuffer);
|
||||
glDrawBuffers(3, ColorAttachmentArray);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
}
|
||||
Time time = global::timeManager.time();
|
||||
Time time = global::timeManager->time();
|
||||
|
||||
RenderData data = {
|
||||
*camera,
|
||||
@@ -1287,7 +1287,7 @@ void FramebufferRenderer::performRaycasterTasks(const std::vector<RaycasterTask>
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, _exitFramebuffer);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
GLint viewport[4] = { 0 };
|
||||
global::renderEngine.openglStateCache().viewport(viewport);
|
||||
global::renderEngine->openglStateCache().viewport(viewport);
|
||||
|
||||
ghoul::opengl::ProgramObject* exitProgram = _exitPrograms[raycaster].get();
|
||||
if (exitProgram) {
|
||||
@@ -1305,7 +1305,7 @@ void FramebufferRenderer::performRaycasterTasks(const std::vector<RaycasterTask>
|
||||
static_cast<GLsizei>(viewport[2] * s),
|
||||
static_cast<GLsizei>(viewport[3] * s)
|
||||
};
|
||||
global::renderEngine.openglStateCache().setViewportState(newVP);
|
||||
global::renderEngine->openglStateCache().setViewportState(newVP);
|
||||
|
||||
if (_downscaleVolumeRendering.currentDownscaleFactor != s) {
|
||||
_downscaleVolumeRendering.currentDownscaleFactor = s;
|
||||
@@ -1402,7 +1402,7 @@ void FramebufferRenderer::performRaycasterTasks(const std::vector<RaycasterTask>
|
||||
}
|
||||
|
||||
if (raycaster->downscaleRender() < 1.f) {
|
||||
global::renderEngine.openglStateCache().setViewportState(viewport);
|
||||
global::renderEngine->openglStateCache().setViewportState(viewport);
|
||||
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, _gBuffers.framebuffer);
|
||||
writeDownscaledVolume();
|
||||
}
|
||||
@@ -1540,7 +1540,7 @@ void FramebufferRenderer::updateRendererData() {
|
||||
dict.setValue("hdrExposure", std::to_string(_hdrExposure));
|
||||
dict.setValue("disableHDR", std::to_string(_disableHDR));
|
||||
_rendererData = dict;
|
||||
global::renderEngine.setRendererData(dict);
|
||||
global::renderEngine->setRendererData(dict);
|
||||
}
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
Reference in New Issue
Block a user