19 listener->OnDestroy(
this);
26 unsigned int width,
unsigned int height,
bool hasRTMipmaps,
27 bool createRTStorage, DFType dsFormat,
bool createDSStorage)
29 if (numRenderTargets > 0)
35 hasRTMipmaps, createRTStorage);
47 LogError(
"Invalid depth-stencil format.");
53 LogError(
"Number of targets must be at least one.");
59 return static_cast<unsigned int>(
mRTTextures.size());
140 texture->AutogenerateMipmaps();
std::shared_ptr< TextureRT > const GetRTTexture(unsigned int i) const
unsigned int GetWidth() const
bool HasRTMipmaps() const
unsigned int GetHeight() const
std::shared_ptr< TextureDS > const GetDSTexture() const
DFType GetRTFormat() const
std::shared_ptr< TextureDS > mDSTexture
DFType GetDSFormat() const
static std::set< std::shared_ptr< ListenerForDestruction > > msLFDSet
bool WantAutogenerateRTMipmaps() const
#define LogError(message)
void AutogenerateRTMipmaps()
unsigned int GetNumTargets() const
GLint GLsizei GLsizei height
static void SubscribeForDestruction(std::shared_ptr< ListenerForDestruction > const &listener)
static std::mutex msLFDMutex
static void UnsubscribeForDestruction(std::shared_ptr< ListenerForDestruction > const &listener)
DrawTarget(unsigned int numRenderTargets, DFType rtFormat, unsigned int width, unsigned int height, bool hasRTMipmaps=false, bool createRTStorage=true, DFType dsFormat=DF_UNKNOWN, bool createDSStorage=false)
std::vector< std::shared_ptr< TextureRT > > mRTTextures