diff options
Diffstat (limited to 'include/mbgl/renderer/prerendered_texture.hpp')
-rw-r--r-- | include/mbgl/renderer/prerendered_texture.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/include/mbgl/renderer/prerendered_texture.hpp b/include/mbgl/renderer/prerendered_texture.hpp new file mode 100644 index 0000000000..9c72e14b88 --- /dev/null +++ b/include/mbgl/renderer/prerendered_texture.hpp @@ -0,0 +1,36 @@ +#ifndef MBGL_RENDERER_PRERENDERED_TEXTURE +#define MBGL_RENDERER_PRERENDERED_TEXTURE + +#include <mbgl/util/noncopyable.hpp> +#include <mbgl/platform/gl.hpp> +#include <mbgl/style/rasterize_properties.hpp> + +namespace mbgl { + +class Painter; + +class PrerenderedTexture : private util::noncopyable { +public: + PrerenderedTexture(const RasterizedProperties &properties); + ~PrerenderedTexture(); + + void bindTexture(); + void bindFramebuffer(); + void unbindFramebuffer(); + + inline GLuint getTexture() const { return texture; } + + void blur(Painter& painter, uint16_t passes); + +public: + const RasterizedProperties properties; + +private: + GLint previous_fbo = 0; + GLuint fbo = 0; + GLuint texture = 0; +}; + +} + +#endif |