hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/rendering/renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rendering/renderer.h')
-rw-r--r--src/rendering/renderer.h9
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;
};