Reimplement other missing options from current OpenGL renderer

This commit is contained in:
Cacodemon345
2025-03-10 19:52:59 +06:00
parent 6c32f3ec0c
commit 1ed579a0fc
4 changed files with 247 additions and 123 deletions

View File

@@ -774,6 +774,8 @@ OpenGLRendererPCem::OpenGLRendererPCem(QWidget *parent)
if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES)
format.setRenderableType(QSurfaceFormat::OpenGLES);
format.setSwapInterval(video_vsync ? 1 : 0);
setFormat(format);
parentWidget = parent;
@@ -822,6 +824,9 @@ OpenGLRendererPCem::initialize()
glw.glEnable(GL_TEXTURE_2D);
//renderTimer->start(75);
if (video_framerate != -1) {
renderTimer->start(ceilf(1000.f / (float)video_framerate));
}
scene_texture.data = NULL;
scene_texture.width = 2048;
@@ -1102,7 +1107,8 @@ OpenGLRendererPCem::onBlit(int buf_idx, int x, int y, int w, int h)
source.setRect(x, y, w, h);
onResize(this->width(), this->height());
render();
if (video_framerate == -1)
render();
}
std::vector<std::tuple<uint8_t *, std::atomic_flag *>>
@@ -1314,6 +1320,9 @@ OpenGLRendererPCem::render()
if (!context)
return;
if (notReady())
return;
int s, i, j;
struct {