aboutsummaryrefslogtreecommitdiff
path: root/src/GPU_OpenGL.cpp
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-05-28 15:53:32 +0200
committerArisotura <thetotalworm@gmail.com>2020-05-28 15:53:32 +0200
commit0804ab3c783363e28229a2028dc70b4238cb1802 (patch)
treedfa44dbba73927e52adc4f99630d3272d7c65379 /src/GPU_OpenGL.cpp
parent5005a7c3f0f78c4684dbdcde0d88ae48050ab6fe (diff)
* rework GPU's settings interface, make it config-agnostic
* make video settings dialog functional, sorta * fix dialogs that were resizable
Diffstat (limited to 'src/GPU_OpenGL.cpp')
-rw-r--r--src/GPU_OpenGL.cpp39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/GPU_OpenGL.cpp b/src/GPU_OpenGL.cpp
index 99eb845..1cb6864 100644
--- a/src/GPU_OpenGL.cpp
+++ b/src/GPU_OpenGL.cpp
@@ -142,9 +142,9 @@ void Reset()
}
-void UpdateDisplaySettings()
+void SetRenderSettings(RenderSettings& settings)
{
- int scale = Config::GL_ScaleFactor;
+ int scale = settings.GL_ScaleFactor;
Scale = scale;
ScreenW = 256 * scale;
@@ -175,28 +175,25 @@ void RenderFrame()
OpenGL::UseShaderProgram(CompShader[0]);
glUniform1ui(CompScaleLoc[0], Scale);
- //if (RunningSomething)
+ int frontbuf = GPU::FrontBuffer;
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, CompScreenInputTex);
+
+ if (GPU::Framebuffer[frontbuf][0] && GPU::Framebuffer[frontbuf][1])
{
- int frontbuf = GPU::FrontBuffer;
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, CompScreenInputTex);
-
- if (GPU::Framebuffer[frontbuf][0] && GPU::Framebuffer[frontbuf][1])
- {
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 256*3 + 1, 192, GL_RGBA_INTEGER,
- GL_UNSIGNED_BYTE, GPU::Framebuffer[frontbuf][0]);
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 192, 256*3 + 1, 192, GL_RGBA_INTEGER,
- GL_UNSIGNED_BYTE, GPU::Framebuffer[frontbuf][1]);
- }
-
- glActiveTexture(GL_TEXTURE1);
- GPU3D::GLRenderer::SetupAccelFrame();
-
- glBindBuffer(GL_ARRAY_BUFFER, CompVertexBufferID);
- glBindVertexArray(CompVertexArrayID);
- glDrawArrays(GL_TRIANGLES, 0, 4*3);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 256*3 + 1, 192, GL_RGBA_INTEGER,
+ GL_UNSIGNED_BYTE, GPU::Framebuffer[frontbuf][0]);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 192, 256*3 + 1, 192, GL_RGBA_INTEGER,
+ GL_UNSIGNED_BYTE, GPU::Framebuffer[frontbuf][1]);
}
+ glActiveTexture(GL_TEXTURE1);
+ GPU3D::GLRenderer::SetupAccelFrame();
+
+ glBindBuffer(GL_ARRAY_BUFFER, CompVertexBufferID);
+ glBindVertexArray(CompVertexArrayID);
+ glDrawArrays(GL_TRIANGLES, 0, 4*3);
+
glFlush();
}