From 64d9d7b3eb7cece81da8b2cb56eb0f50d87a5964 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 1 Mar 2019 08:50:34 +0800 Subject: *misc --- Source/Asura.Engine/Graphics/RenderTarget.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'Source/Asura.Engine/Graphics/RenderTarget.h') diff --git a/Source/Asura.Engine/Graphics/RenderTarget.h b/Source/Asura.Engine/Graphics/RenderTarget.h index 05d7068..afa8967 100644 --- a/Source/Asura.Engine/Graphics/RenderTarget.h +++ b/Source/Asura.Engine/Graphics/RenderTarget.h @@ -1,20 +1,24 @@ #ifndef __ASURA_ENGINE_RENDERTARGET_H__ #define __ASURA_ENGINE_RENDERTARGET_H__ +#include "Math/Rect.hpp" #include "Texture.h" #include "Object.h" +#include "Color.h" namespace AsuraEngine { namespace Graphics { + class Drawable; + /// /// 可被作为渲染目标的类,派生类有 /// Canvas(RenderTexture) /// Window(RenderWindow) /// - class RenderTarget : virtual public Object + class RenderTarget : virtual public Object { public: @@ -22,6 +26,26 @@ namespace AsuraEngine virtual ~RenderTarget() {}; + /// + /// 用颜色col清空整个RT + /// + virtual void Clear(const Color& col = Color::Black) = 0; + + /// + /// 用颜色col清空部分RT + /// + virtual void Clear(const Math::Recti& quad, const Color& col = Color::Black) = 0; + + /// + /// 绘制texture到本RT上 + /// + virtual void Draw(const Drawable* texture, const RenderState& state) = 0; + + /// + /// 绘制一部分texture到本RT上 + /// + virtual void Draw(const Drawable* texture, const Math::Recti& quad, const RenderState& state) = 0; + }; } -- cgit v1.1-26-g67d0