diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-12-05 21:04:36 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-12-05 21:04:36 +0800 |
| commit | ad1ba6795040d569d3b4857fcd39cdb6a7ed1c21 (patch) | |
| tree | ee0ee976bddc9e27db0da75ad2a78ff778206fcd /src/platform/gui | |
| parent | f5c801de04f423269d9cefa3d725b52b87c7a0b9 (diff) | |
| download | cru-ad1ba6795040d569d3b4857fcd39cdb6a7ed1c21.tar.gz cru-ad1ba6795040d569d3b4857fcd39cdb6a7ed1c21.tar.bz2 cru-ad1ba6795040d569d3b4857fcd39cdb6a7ed1c21.zip | |
Add Measure time log. Clean up OpenGL renderer.
Diffstat (limited to 'src/platform/gui')
| -rw-r--r-- | src/platform/gui/sdl/OpenGLRenderer.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/platform/gui/sdl/OpenGLRenderer.cpp b/src/platform/gui/sdl/OpenGLRenderer.cpp index 07b58147..78eb578e 100644 --- a/src/platform/gui/sdl/OpenGLRenderer.cpp +++ b/src/platform/gui/sdl/OpenGLRenderer.cpp @@ -93,6 +93,8 @@ SdlOpenGLRenderer::SdlOpenGLRenderer(SdlWindow* window, int width, int height) { reinterpret_cast<void*>(3 * sizeof(float))); glad_gl_context_.EnableVertexAttribArray(1); + glad_gl_context_.UseProgram(gl_shader_program_); + Resize(width, height); } @@ -174,19 +176,12 @@ void SdlOpenGLRenderer::Present() { assert(cairo_surface_); assert(gl_texture_); - auto _ = MakeContextCurrent(); + auto context_guard = MakeContextCurrent(); auto data = cairo_image_surface_get_data(cairo_surface_); glad_gl_context_.TexImage2D(GL_TEXTURE_2D, 0, GL_BGRA, width_, height_, 0, GL_BGRA, GL_UNSIGNED_BYTE, data); - glad_gl_context_.UseProgram(gl_shader_program_); - glad_gl_context_.ActiveTexture(GL_TEXTURE0); - glad_gl_context_.BindTexture(GL_TEXTURE_2D, gl_texture_); - glad_gl_context_.BindVertexArray(gl_vertex_array_); - glad_gl_context_.BindBuffer(GL_ARRAY_BUFFER, gl_vertex_buffer_); - glad_gl_context_.BindBuffer(GL_ELEMENT_ARRAY_BUFFER, gl_element_buffer_); - glad_gl_context_.DrawElements( GL_TRIANGLES, sizeof(kIndices) / sizeof(*kIndices), GL_UNSIGNED_INT, 0); CheckSdlReturn(SDL_GL_SwapWindow(sdl_window_)); |
