Route default clear through renderer GL

This commit is contained in:
2026-06-03 05:50:36 +02:00
parent 103fe4fb12
commit 2a030318b1
6 changed files with 113 additions and 10 deletions

View File

@@ -261,6 +261,26 @@ pp::foundation::Result<OpenGlRuntimeInfo> query_opengl_runtime_info(
});
}
OpenGlDefaultClear panopainter_default_clear() noexcept
{
return OpenGlDefaultClear {
.color = { 0.1F, 0.1F, 0.1F, 1.0F },
.mask = framebuffer_color_buffer_mask(),
};
}
pp::foundation::Status clear_panopainter_default_target(OpenGlClearDispatch dispatch) noexcept
{
if (dispatch.clear_color == nullptr || dispatch.clear == nullptr) {
return pp::foundation::Status::invalid_argument("OpenGL clear dispatch callbacks must not be null");
}
const auto clear = panopainter_default_clear();
dispatch.clear_color(clear.color[0], clear.color[1], clear.color[2], clear.color[3]);
dispatch.clear(clear.mask);
return pp::foundation::Status::success();
}
std::uint32_t extension_count_query() noexcept
{
return gl_num_extensions;