#ifndef FRAMEBUFFER_H #define FRAMEBUFFER_H #include "../common/num_types.h" enum Framebuffer_Attachment { FA_COLOR_ATTACHMENT0 = 0, FA_DEPTH_ATTACHMENT, FA_NUM_ATTACHMENTS }; void framebuffer_init(void); void framebuffer_cleanup(void); int framebuffer_create(int width, int height, bool has_depth, bool has_color, bool resizeable); void framebuffer_bind(int index); void framebuffer_remove(int index); void framebuffer_unbind(void); int framebuffer_width_get(int index); int framebuffer_height_get(int index); void framebuffer_texture_set(int index, int texture, enum Framebuffer_Attachment attachment); int framebuffer_texture_get(int index, enum Framebuffer_Attachment attachment); uint framebuffer_gl_handle_get(int index); void framebuffer_resize(int index, int width, int height); void framebuffer_resize_all(int width, int height); void framebuffer_resizeable_set(int index, bool resizeable); #endif