Wasabi
|
#include <WRenderTarget.hpp>
Public Member Functions | |
WRenderTargetManager (class Wasabi *const app) | |
WRenderTarget * | CreateRenderTarget (uint32_t ID=0) |
WRenderTarget * | CreateImmediateRenderTarget (uint32_t ID=0) |
![]() | |
WManager (class Wasabi *const a) | |
bool | RegisterChangeCallback (std::string name, std::function< void(WRenderTarget *, bool)> callback) |
void | RemoveChangeCallback (std::string name) |
void | AddEntity (WRenderTarget *entity) |
bool | RemoveEntity (WRenderTarget *entity) |
void | OnEntityNameChanged (WRenderTarget *entity, std::string oldName) |
virtual void | Init () |
WRenderTarget * | GetEntity (uint32_t ID) const |
WRenderTarget * | GetEntity (std::string name) const |
WRenderTarget * | GetEntityByIndex (uint32_t index) const |
uint32_t | GetEntitiesCount (void) const |
Friends | |
class | WRenderTarget |
Additional Inherited Members | |
![]() | |
class Wasabi *const | m_app |
![]() | |
std::vector< WRenderTarget * > | m_entities [W_HASHTABLESIZE] |
std::unordered_map< std::string, WRenderTarget * > | m_entitiesByName |
Manager class for WRenderTarget.
WRenderTarget* WRenderTargetManager::CreateImmediateRenderTarget | ( | uint32_t | ID = 0 | ) |
Allocates and initializes an "immediate" render target. An immediate render target is able to perform rendering to a texture at any point in the program and not strictly in a render stage. Immediate render targets are significantly slower than regular render taregts (refer to WRenderTargetManager::CreateRenderTarget) so consider using a regular render target whenever possible, and using an immediate render target only when necessary. Immediate render targets create their own command buffers and have to block on GPU operations before WRenderTarget::Begin() and after WRenderTarget::End().
WRenderTarget* WRenderTargetManager::CreateRenderTarget | ( | uint32_t | ID = 0 | ) |
Allocates and initializes a "regular" render target. Regular render targets must only be rendered to (i.e. calling WRenderTarget::Begin() and WRenderTarget::End()) within a WRenderStage.