class render::RenderProxy

Represents a partial copy of a CoreObject, meant to be used specifically on the render thread.

Public

Constructors

RenderProxy

RenderProxy()

Methods

~RenderProxy

virtual ~RenderProxy() noexcept

Initialize

virtual void Initialize()

Called on the render thread when the object is first created.

Destroy

virtual void Destroy()

Called on the render thread before the object is destroyed.

IsInitialized

bool IsInitialized() const

Returns true if the object has been initialized.

Non-initialized object should not be used.

IsDestroyed

bool IsDestroyed() const

Returns true if the object has been destroyed.

Destroyed object should not be used.

GetShared

SPtr<RenderProxy> GetShared() const

Returns a shared pointer version of "this" pointer.

Internal

Methods

SetShared

void SetShared(SPtr<RenderProxy> sharedToThis)

Sets a shared this pointer to this object.

This MUST be called immediately after construction.

Protected

Methods

SyncFromCoreObject

virtual void SyncFromCoreObject(const CoreSyncData &data, FrameAllocator &allocator)

Update internal data from provided memory buffer that was populated with data from the owning CoreObject.

BlockUntilInitialized

void BlockUntilInitialized()

Blocks the current thread until the resource is fully initialized.

Fields

mFlags

RenderProxyFlags mFlags

mThis

std::weak_ptr<RenderProxy> mThis