/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "display/render.h" #include "display/texture/texture.h" #if RENDER_USE_FRAMEBUFFER typedef struct { GLuint id; texture_t texture; } framebuffer_t; /** * Initializes a framebuffer using EXT methods. * * @param framebuffer The framebuffer to initialize. * @param width The width of the framebuffer. * @param height The height of the framebuffer. * @return An error code indicating success or failure. */ void frameBufferInit( framebuffer_t *framebuffer, const uint32_t width, const uint32_t height ); /** * Binds the framebuffer for rendering using EXT methods. * * @param framebuffer The framebuffer to bind, or NULL to unbind. */ void frameBufferBind(const framebuffer_t *framebuffer); /** * Disposes of the framebuffer using EXT methods. * * @param framebuffer The framebuffer to dispose of. */ void frameBufferDispose(framebuffer_t *framebuffer); #endif