diff options
Diffstat (limited to 'src/rendering/renderer.h')
| -rw-r--r-- | src/rendering/renderer.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rendering/renderer.h b/src/rendering/renderer.h index 67ad998..ea200db 100644 --- a/src/rendering/renderer.h +++ b/src/rendering/renderer.h @@ -3,6 +3,7 @@ #include "core/memory.h" #include "vertex_array.h" #include "shader.h" +#include "framebuffer.h" #include <glm/glm.hpp> @@ -41,6 +42,8 @@ namespace Donut virtual void bind_image_texture(uint32_t texture_id, uint32_t slot = 0, bool read_only = false) = 0; + virtual void read_pixels(uint32_t x, uint32_t y, uint32_t width, uint32_t height, + uint32_t format, uint32_t type, void* pixels) = 0; inline static API get_api() { return s_api; } inline static void set_api(API api) { s_api = api; } @@ -122,6 +125,12 @@ namespace Donut s_renderer_api->bind_image_texture(texture_id, slot, read_only); } + inline static void read_pixels(uint32_t x, uint32_t y, uint32_t width, uint32_t height, + uint32_t format, uint32_t type, void* pixels) + { + s_renderer_api->read_pixels(x, y, width, height, format, type, pixels); + } + private: static Scope<RendererAPI> s_renderer_api; }; |
