27 void init(
const Init& init)
override;
28 ~OpenGLRenderingContext()
override;
30 AImage makeScreenshot()
override;
32 void destroyNativeWindow(
AWindowBase& window)
override;
39 uint32_t getDefaultFb()
const noexcept;
44 glm::uvec2 viewportSize()
const noexcept {
49 uint32_t getSupersamplingRatio()
const noexcept;
53 if (
auto fb = std::get_if<gl::Framebuffer>(&mFramebuffer)) {
63 static gl::Framebuffer newOffscreenRenderingFramebuffer(glm::uvec2 initialSize);
67 struct NotTried{};
struct Failed{}; std::variant<NotTried, Failed, gl::Framebuffer> mFramebuffer;
69 glm::uvec2 mViewportSize;
73 if (
auto v = g.lock()) {
76 auto temp = _new<OpenGLRenderer>();
81 void tryEnableFramebuffer(glm::uvec2 windowSize);
82 void beginFramebuffer(glm::uvec2 windowSize);
83 void endFramebuffer();
87 static void makeCurrent(HDC hdc)
noexcept;
90 static GLXContext ourContext;
93 static void* ourContext;
Definition CommonRenderingContext.h:28
Definition ARenderingContextOptions.h:55
Definition IRenderingContext.h:38