#pragma once #include "IRenderTargetTexture.h" #include "../RenderTargetBase.h" struct ITexture; class RenderTargetTexture : public RenderTargetBase , public IRenderTargetTexture { public: RenderTargetTexture(IEngine& argEngine); virtual ~RenderTargetTexture(); virtual void SetTextureParameters(uint32 argWidth, uint32 argHeight, DataFormat::Enumeration argFormat, uint32 argMultiSampleCount = 1, uint32 argMultiSampleQuality = 0); virtual void Resize(int argWidth, int argHeight); virtual ITexture& get_TextureResource() const { return *m_Texture; } virtual IRenderTargetBase& get_Base() { return *dynamic_cast(this); } virtual void Uninitialize(); // IRenderTargetBase virtual uint32 get_RenderTargetWidth() const; virtual uint32 get_RenderTargetHeight() const; virtual DataFormat::Enumeration get_RenderTargetFormat() const; protected: //ICommandUser virtual string8 get_UserName() const { return "RenderTargetTexture"; } private: ITexture* m_Texture; };