Diligent::IObject struct

Base interface for all dynamic objects in the engine.

Contents

Derived classes

struct IBufferSuballocation
Buffer suballocation.
struct IBufferSuballocator
Buffer suballocator.
struct ICommandQueueD3D12
Command queue interface.
struct ICommandQueueVk
Command queue interface.
struct IDataBlob
Base interface for a file stream.
struct IDeviceContext
Device context interface.
struct IDeviceObject
Base interface for all objects created by the render device Diligent::IRenderDevice.
struct IDynamicTextureAtlas
Dynamic texture atlas.
struct IEngineFactory
Engine factory base interface.
struct IFileStream
Base interface for a file stream.
struct IHLSL2GLSLConverter
Interface to the buffer object implemented in OpenGL.
struct IRenderDevice
Render device interface.
struct IResourceMapping
Resouce mapping.
struct IShaderResourceBinding
Shader resource binding interface.
struct IShaderResourceVariable
Shader resource variable.
struct IShaderSourceInputStreamFactory
Shader source stream factory interface.
struct ISwapChain
Swap chain interface.
struct ITextureAtlasSuballocation
Dynamic texture atlas suballocation.
class ITextureUploader
Asynchronous texture uplader.
template<typename Base>
class RefCountedObject
Base class for all reference counting objects.

Public functions

void QueryInterface(const INTERFACE_ID& IID, IObject** ppInterface) pure virtual
Queries the specific interface.
auto AddRef() -> ReferenceCounterValueType pure virtual
Increments the number of strong references by 1.
auto Release() -> ReferenceCounterValueType pure virtual
Decrements the number of strong references by 1 and destroys the object when the counter reaches zero.
auto GetReferenceCounters() const -> IReferenceCounters* pure virtual
Returns the pointer to IReferenceCounters interface of the associated reference counters object. The method does NOT increment the number of strong references to the returned object.

Function documentation

void Diligent::IObject::QueryInterface(const INTERFACE_ID& IID, IObject** ppInterface) pure virtual

Queries the specific interface.

Parameters
IID in - Unique identifier of the requested interface.
ppInterface out - Memory address where the pointer to the requested interface will be written. If the interface is not supported, null pointer will be returned.

ReferenceCounterValueType Diligent::IObject::AddRef() pure virtual

Increments the number of strong references by 1.

Returns The number of strong references after incrementing the counter.

ReferenceCounterValueType Diligent::IObject::Release() pure virtual

Decrements the number of strong references by 1 and destroys the object when the counter reaches zero.

Returns The number of strong references after decrementing the counter.