#pragma once #include "common.hpp" #include "render_options.hpp" class GFXTexture; class GFXFramebuffer; class GFXBuffer; class RenderTarget { public: prism::Extent extent; prism::Extent get_render_extent() const { return {static_cast(std::max(int(extent.width * render_options.render_scale), 1)), static_cast(std::max(int(extent.height * render_options.render_scale), 1))}; } // offscreen GFXTexture* offscreenColorTexture = nullptr; GFXTexture* offscreenDepthTexture = nullptr; GFXFramebuffer* offscreenFramebuffer = nullptr; // mesh GFXBuffer* sceneBuffer = nullptr; // smaa GFXTexture* edge_texture = nullptr; GFXTexture* blend_texture = nullptr; GFXFramebuffer* edge_framebuffer = nullptr; GFXFramebuffer* blend_framebuffer = nullptr; };