The IConstants video object interface. More...

#include "murl_video_i_constants.h"

Inherited by Murl::Video::Constants, and Murl::Video::Vulkan::Constants.

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () const =0
 Get the constant Video::IObject interface. More...
 
virtual Bool Enable ()=0
 Enable the constants container. More...
 
virtual Bool Disable ()=0
 Disable the constants container. More...
 
virtual Bool Set (IProgram *currentProgram)=0
 Attach the constants container to the current GPU program. More...
 
virtual SInt32 AddConstantBuffer (IConstantBuffer *constantBuffer)=0
 Add a single default constant buffer. More...
 
virtual SInt32 AddConstantBuffer (IEnums::ConstantBufferItem item, IConstantBuffer *constantBuffer)=0
 Add a single predefined constant buffer. More...
 
virtual SInt32 AddConstantBuffer (SInt32 id, IConstantBuffer *constantBuffer)=0
 Add a single custom constant buffer, by its unique integer ID in the renderer. More...
 
virtual SInt32 AddConstantBuffer (const String &name, IConstantBuffer *constantBuffer)=0
 Add a single custom constant buffer, by its actual name. More...
 
virtual Bool RemoveAllConstantBuffers ()=0
 Remove all present constant buffers from the container. More...
 
virtual SInt32 GetConstantBufferIndex (IEnums::ConstantBufferItem item) const =0
 Get the index of a predefined constant buffer in the container. More...
 
virtual SInt32 GetConstantBufferIndex (SInt32 id) const =0
 Get the index of a custom constant buffer in the container, by its unique integer ID. More...
 
virtual SInt32 GetConstantBufferIndex (const String &name) const =0
 Get the index of a custom constant buffer in the container, by its actual name. More...
 
virtual UInt32 GetNumberOfConstantBuffers () const =0
 Get the total number of individual constant buffers present in the container. More...
 
virtual IEnums::ConstantBufferItem GetConstantBufferItem (UInt32 index) const =0
 Get the predefined constant buffer item at a given index. More...
 
virtual SInt32 GetConstantBufferId (UInt32 index) const =0
 Get the unique integer ID of a constant buffer at a given index. More...
 
virtual IConstantBufferGetConstantBuffer (UInt32 index) const =0
 Get the constant buffer at a given index. More...
 
virtual Bool AreEqual (const IConstants *other) const =0
 Check if the container is equal to another one. More...
 
virtual UInt32 GetSignature () const =0
 Get the signature, obtained via IRenderer::AcquireConstantsSignature(). More...
 

Detailed Description

The IConstants video object interface.

This interface represents a container object holding references to one or more individual IConstantBuffer objects.

Used internally by Graph::FixedParameters and Graph::GenericParameters.

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Video::IConstants::GetObjectInterface ( )
pure virtual

Get the mutable Video::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Video::IConstants::GetObjectInterface ( ) const
pure virtual

Get the constant Video::IObject interface.

Returns
The IObject interface.

◆ Enable()

virtual Bool Murl::Video::IConstants::Enable ( )
pure virtual

Enable the constants container.

Returns
true if successful.

◆ Disable()

virtual Bool Murl::Video::IConstants::Disable ( )
pure virtual

Disable the constants container.

Returns
true if successful.

◆ Set()

virtual Bool Murl::Video::IConstants::Set ( IProgram currentProgram)
pure virtual

Attach the constants container to the current GPU program.

Parameters
currentProgramThe current GPU program.
Returns
true if successful.

◆ AddConstantBuffer() [1/4]

virtual SInt32 Murl::Video::IConstants::AddConstantBuffer ( IConstantBuffer constantBuffer)
pure virtual

Add a single default constant buffer.

Parameters
constantBufferThe constant buffer to add.
Returns
The zero-based index of the constant buffer in the container, or -1 if failed.

◆ AddConstantBuffer() [2/4]

virtual SInt32 Murl::Video::IConstants::AddConstantBuffer ( IEnums::ConstantBufferItem  item,
IConstantBuffer constantBuffer 
)
pure virtual

Add a single predefined constant buffer.

Parameters
itemThe predefined item.
constantBufferThe constant buffer to add.
Returns
The zero-based index of the constant buffer in the container, or -1 if failed.

◆ AddConstantBuffer() [3/4]

virtual SInt32 Murl::Video::IConstants::AddConstantBuffer ( SInt32  id,
IConstantBuffer constantBuffer 
)
pure virtual

Add a single custom constant buffer, by its unique integer ID in the renderer.

Parameters
idThe buffer's unique integer ID.
constantBufferThe constant buffer to add.
Returns
The zero-based index of the constant buffer in the container, or -1 if failed.

◆ AddConstantBuffer() [4/4]

virtual SInt32 Murl::Video::IConstants::AddConstantBuffer ( const String name,
IConstantBuffer constantBuffer 
)
pure virtual

Add a single custom constant buffer, by its actual name.

Parameters
nameThe buffer name.
constantBufferThe constant buffer to add.
Returns
The zero-based index of the constant buffer in the container, or -1 if failed.

◆ RemoveAllConstantBuffers()

virtual Bool Murl::Video::IConstants::RemoveAllConstantBuffers ( )
pure virtual

Remove all present constant buffers from the container.

Returns
true if successful.

◆ GetConstantBufferIndex() [1/3]

virtual SInt32 Murl::Video::IConstants::GetConstantBufferIndex ( IEnums::ConstantBufferItem  item) const
pure virtual

Get the index of a predefined constant buffer in the container.

Parameters
itemThe constant buffer item to query.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetConstantBufferIndex() [2/3]

virtual SInt32 Murl::Video::IConstants::GetConstantBufferIndex ( SInt32  id) const
pure virtual

Get the index of a custom constant buffer in the container, by its unique integer ID.

Parameters
idThe unique integer ID of the constant buffer to query.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetConstantBufferIndex() [3/3]

virtual SInt32 Murl::Video::IConstants::GetConstantBufferIndex ( const String name) const
pure virtual

Get the index of a custom constant buffer in the container, by its actual name.

Parameters
nameThe buffer name.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetNumberOfConstantBuffers()

virtual UInt32 Murl::Video::IConstants::GetNumberOfConstantBuffers ( ) const
pure virtual

Get the total number of individual constant buffers present in the container.

Returns
The number of constant buffers present.

◆ GetConstantBufferItem()

virtual IEnums::ConstantBufferItem Murl::Video::IConstants::GetConstantBufferItem ( UInt32  index) const
pure virtual

Get the predefined constant buffer item at a given index.

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The predefined buffer item, or IEnums::CONSTANT_BUFFER_ITEM_CUSTOM if the index is out of range.

◆ GetConstantBufferId()

virtual SInt32 Murl::Video::IConstants::GetConstantBufferId ( UInt32  index) const
pure virtual

Get the unique integer ID of a constant buffer at a given index.

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The unique ID, or -1 if the index is out of range.

◆ GetConstantBuffer()

virtual IConstantBuffer* Murl::Video::IConstants::GetConstantBuffer ( UInt32  index) const
pure virtual

Get the constant buffer at a given index.

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The buffer, or null if the index is out of range.

◆ AreEqual()

virtual Bool Murl::Video::IConstants::AreEqual ( const IConstants other) const
pure virtual

Check if the container is equal to another one.

Parameters
otherThe container to compare with.
Returns
true if the containers are equal.

◆ GetSignature()

virtual UInt32 Murl::Video::IConstants::GetSignature ( ) const
pure virtual

Get the signature, obtained via IRenderer::AcquireConstantsSignature().

Returns
The buffer signature.

The documentation for this interface was generated from the following file:
  • murl_video_i_constants.h


Copyright © 2011-2024 Spraylight GmbH.