Rebel Fork Framework
Urho3D::RenderSurface Class Reference

Color or depth-stencil surface that can be rendered into. More...

#include <Urho3D/Graphics/RenderSurface.h>

Inheritance diagram for Urho3D::RenderSurface:
Urho3D::RefCounted

Public Member Functions

 RenderSurface (Texture *parentTexture, unsigned slice)
 
void Restore (Diligent::ITextureView *view)
 Internal. Restore GPU resource.
 
void Invalidate ()
 Internal. Invalidate GPU resource.
 
void SetNumViewports (unsigned num)
 
void SetViewport (unsigned index, Viewport *viewport)
 
void SetUpdateMode (RenderSurfaceUpdateMode mode)
 
void SetLinkedRenderTarget (RenderSurface *renderTarget)
 
void SetLinkedDepthStencil (RenderSurface *depthStencil)
 
void QueueUpdate ()
 Queue manual update of the viewport(s).
 
int GetWidth () const
 
int GetHeight () const
 
IntVector2 GetSize () const
 Return size.
 
int GetMultiSample () const
 Return multisampling level.
 
bool GetAutoResolve () const
 Return multisampling autoresolve mode.
 
unsigned GetNumViewports () const
 
ViewportGetViewport (unsigned index) const
 
RenderSurfaceUpdateMode GetUpdateMode () const
 
RenderSurfaceGetLinkedRenderTarget () const
 
RenderSurfaceGetLinkedDepthStencil () const
 
bool IsUpdateQueued () const
 Return whether manual update queued. Called internally.
 
void ResetUpdateQueued ()
 Reset update queued flag. Called internally.
 
TextureGetParentTexture () const
 
unsigned GetSlice () const
 Return slice of the parent texture.
 
RenderTargetView GetView () const
 
RenderTargetView GetReadOnlyDepthView () const
 
bool IsRenderTarget () const
 
bool IsDepthStencil () const
 
bool IsResolveDirty () const
 
void SetResolveDirty (bool enable)
 Set or clear the need resolve flag. Called internally by Graphics.
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
 RefCounted (const RefCounted &rhs)=delete
 Prevent copy construction.
 
RefCountedoperator= (const RefCounted &rhs)=delete
 Prevent assignment.
 
int AddRef ()
 
int ReleaseRef ()
 
int Refs () const
 
int WeakRefs () const
 
RefCountRefCountPtr () const
 Return pointer to the reference count structure.
 
bool HasScriptObject () const
 Return true if script runtime object wrapping this native object exists.
 
bool IsScriptStrongRef () const
 Return true if script reference is strong.
 

Static Public Member Functions

static IntVector2 GetSize (Graphics *graphics, const RenderSurface *renderSurface)
 
static IntRect GetRect (Graphics *graphics, const RenderSurface *renderSurface)
 
static TextureFormat GetColorFormat (Graphics *graphics, const RenderSurface *renderSurface)
 
static TextureFormat GetDepthFormat (Graphics *graphics, const RenderSurface *renderSurface)
 
static int GetMultiSample (Graphics *graphics, const RenderSurface *renderSurface)
 
static bool GetSRGB (Graphics *graphics, const RenderSurface *renderSurface)
 

Private Attributes

const WeakPtr< TextureparentTexture_
 Parent texture.
 
const unsigned slice_ {}
 Slice of the parent texture.
 
Diligent::RefCntAutoPtr< Diligent::ITextureView > renderTargetView_
 Diligent rendertarget or depth-stencil view.
 
ea::vector< SharedPtr< Viewport > > viewports_
 Viewports.
 
WeakPtr< RenderSurfacelinkedRenderTarget_
 Linked color buffer.
 
WeakPtr< RenderSurfacelinkedDepthStencil_
 Linked depth buffer.
 
RenderSurfaceUpdateMode updateMode_ {SURFACE_UPDATEVISIBLE}
 Update mode for viewports.
 
std::atomic_bool updateQueued_ { false }
 Update queued flag.
 
bool resolveDirty_ {}
 Multisampled resolve dirty flag.
 

Detailed Description

Color or depth-stencil surface that can be rendered into.

Member Function Documentation

◆ GetHeight()

int Urho3D::RenderSurface::GetHeight ( ) const

Return height.

◆ GetLinkedDepthStencil()

RenderSurface* Urho3D::RenderSurface::GetLinkedDepthStencil ( ) const
inline

Return linked depth-stencil surface.

◆ GetLinkedRenderTarget()

RenderSurface* Urho3D::RenderSurface::GetLinkedRenderTarget ( ) const
inline

Return linked color rendertarget.

◆ GetNumViewports()

unsigned Urho3D::RenderSurface::GetNumViewports ( ) const
inline

Return number of viewports.

◆ GetParentTexture()

Texture* Urho3D::RenderSurface::GetParentTexture ( ) const
inline

Return parent texture.

◆ GetSize()

IntVector2 Urho3D::RenderSurface::GetSize ( Graphics graphics,
const RenderSurface renderSurface 
)
static

Property getters that can work with null RenderSurface corresponding to main viewport

◆ GetUpdateMode()

RenderSurfaceUpdateMode Urho3D::RenderSurface::GetUpdateMode ( ) const
inline

Return viewport update mode.

◆ GetViewport()

Viewport * Urho3D::RenderSurface::GetViewport ( unsigned  index) const

Return viewport by index.

◆ GetWidth()

int Urho3D::RenderSurface::GetWidth ( ) const

Return width.

◆ IsResolveDirty()

bool Urho3D::RenderSurface::IsResolveDirty ( ) const
inline

Return whether multisampled rendertarget needs resolve.

◆ SetLinkedDepthStencil()

void Urho3D::RenderSurface::SetLinkedDepthStencil ( RenderSurface depthStencil)

Set linked depth-stencil surface.

◆ SetLinkedRenderTarget()

void Urho3D::RenderSurface::SetLinkedRenderTarget ( RenderSurface renderTarget)

Set linked color rendertarget.

◆ SetNumViewports()

void Urho3D::RenderSurface::SetNumViewports ( unsigned  num)

Set number of viewports.

◆ SetUpdateMode()

void Urho3D::RenderSurface::SetUpdateMode ( RenderSurfaceUpdateMode  mode)

Set viewport update mode. Default is to update when visible.

◆ SetViewport()

void Urho3D::RenderSurface::SetViewport ( unsigned  index,
Viewport viewport 
)

Set viewport.


The documentation for this class was generated from the following files: