The base interface for all video objects. More...
#include "murl_video_i_object.h"
Public Member Functions | |
virtual Bool | SetInitiallySuspended (Bool suspended)=0 |
Set the initial suspension state hint. More... | |
virtual Bool | SetAutomaticallySuspendableEnabled (Bool enabled)=0 |
Enable/disable automatic suspension, if supported. More... | |
virtual Bool | SetManuallySuspendableEnabled (Bool enabled)=0 |
Enable/disable manual suspension, if supported. More... | |
virtual Bool | SetEmergencySuspendableEnabled (Bool enabled)=0 |
Enable/disable emergency suspension, if supported. More... | |
virtual Bool | Init ()=0 |
Initialize this object. More... | |
virtual Bool | DeInit ()=0 |
De-initialize this object. More... | |
virtual Bool | Suspend ()=0 |
Suspend this object. More... | |
virtual Bool | Resume ()=0 |
Resume this object. More... | |
virtual Bool | Evict ()=0 |
Evict any additional resources held by the object, if possible. More... | |
virtual Bool | Update (Real localTime)=0 |
Update the object. More... | |
virtual Bool | IsInitialized () const =0 |
Check if this object is initialized. More... | |
virtual Bool | IsSuspended () const =0 |
Check if this object is suspended. More... | |
virtual UInt32 | GetRecentFrameCount () const =0 |
Get the global number of the frame the object was most recently used in. More... | |
virtual UInt64 | GetAllocatedResourceByteSize (IEnums::MemoryType memoryType) const =0 |
Get the total number of allocated resource bytes. More... | |
Public Member Functions inherited from Murl::IFactoryObject< IObject > | |
~IFactoryObject () override | |
The destructor. | |
virtual const ClassInfo * | GetObjectClassInfo () const=0 |
Get the object instance's class info, if present. More... | |
virtual void | ResetObjectProperties ()=0 |
Reset the object instance's properties to their default values. | |
Additional Inherited Members | |
Public Types inherited from Murl::IFactoryObject< IObject > | |
using | ClassInfoArray = Array< const ClassInfo * > |
Definition of an array of ClassInfo objects. | |
Static Public Member Functions inherited from Murl::IFactoryObject< IObject > | |
static const PropertyInfo * | GetPropertyInfo () |
Get the class' property info struct. More... | |
static const AttributeInfo * | GetAttributeInfo () |
Get the class' attribute info struct. More... | |
static void | ResetProperties (IFactoryObject< IObject > *object) |
Reset an object instance's properties to their default values. More... | |
Detailed Description
The base interface for all video objects.
Member Function Documentation
◆ SetInitiallySuspended()
Set the initial suspension state hint.
If the initial suspension state is set to true, the object does not create any GPU-bound resources until it is actually referenced during rendering, if it supports this feature.
- Parameters
-
suspended The initial suspension state.
- Returns
- true if successful.
◆ SetAutomaticallySuspendableEnabled()
Enable/disable automatic suspension, if supported.
When automatic suspension is enabled, the object destroys its internally held GPU-bound resources whenever it has not been used during rendering of the most recent frame. The next time it is used again, all necessary resources are restored. Care must be taken not to enable this feature for objects that get activated and deactivated frequently, otherwise a lot of overhead is generated for destroying and recreating its resources.
- Parameters
-
enabled If true, automatic suspension is enabled.
- Returns
- true if successful.
◆ SetManuallySuspendableEnabled()
Enable/disable manual suspension, if supported.
When manual suspension is enabled, the object destroys its internally held GPU-bound resources whenever the object's owning renderer received a manual cleanup trigger via its BeginRendering() method.
- Parameters
-
enabled If true, manual suspension is enabled.
- Returns
- true if successful.
◆ SetEmergencySuspendableEnabled()
Enable/disable emergency suspension, if supported.
Emergency suspension works in the same way as manual suspension, and is triggered via en emergency cleanup trigger via BeginRendering().
- Parameters
-
enabled If true, emergency suspension is enabled.
- Returns
- true if successful.
◆ Init()
|
pure virtual |
◆ DeInit()
|
pure virtual |
◆ Suspend()
|
pure virtual |
◆ Resume()
|
pure virtual |
◆ Evict()
|
pure virtual |
Evict any additional resources held by the object, if possible.
In addition to GPU resource suspension, this method also triggers an eviction of any system memory resources (if possible) to free up even more memory. Called by the IRenderer owning this object.
- Returns
- true if successful.
◆ Update()
Update the object.
Called by the IRenderer owning this object.
- Parameters
-
localTime The time stamp used.
- Returns
- true if successful.
◆ IsInitialized()
|
pure virtual |
Check if this object is initialized.
- Returns
- true if initialized.
◆ IsSuspended()
|
pure virtual |
Check if this object is suspended.
- Returns
- true if suspended.
◆ GetRecentFrameCount()
|
pure virtual |
Get the global number of the frame the object was most recently used in.
- Returns
- The most recent frame number.
◆ GetAllocatedResourceByteSize()
|
pure virtual |
Get the total number of allocated resource bytes.
- Parameters
-
memoryType The type of memory to query.
- Returns
- The number of allocated bytes.
The documentation for this interface was generated from the following file:
- murl_video_i_object.h