Resouce mapping.
More...
|
virtual void | QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0 |
| Queries the specific interface, see IObject::QueryInterface() for details.
|
|
virtual void | AddResource (const Char *Name, IDeviceObject *pObject, bool bIsUnique)=0 |
| Adds a resource to the mapping. More...
|
|
virtual void | AddResourceArray (const Char *Name, Uint32 StartIndex, IDeviceObject *const *ppObjects, Uint32 NumElements, bool bIsUnique)=0 |
| Adds resource array to the mapping. More...
|
|
virtual void | RemoveResourceByName (const Char *Name, Uint32 ArrayIndex=0)=0 |
| Removes a resource from the mapping using its literal name. More...
|
|
virtual void | GetResource (const Char *Name, IDeviceObject **ppResource, Uint32 ArrayIndex=0)=0 |
| Finds a resource in the mapping. More...
|
|
virtual size_t | GetSize ()=0 |
| Returns the size of the resource mapping, i.e. the number of objects.
|
|
virtual Atomics::Long | AddRef ()=0 |
| Increments the number of strong references by 1. More...
|
|
virtual Atomics::Long | Release ()=0 |
| Decrements the number of strong references by 1 and destroys the object when the counter reaches zero. More...
|
|
virtual IReferenceCounters * | GetReferenceCounters () const =0 |
| Returns the pointer to IReferenceCounters interface of the associated reference counters object. The metod does NOT increment the number of strong references to the returned object.
|
|
Resouce mapping.
This interface provides mapping between literal names and resource pointers. It is created by IRenderDevice::CreateResourceMapping().
virtual void Diligent::IResourceMapping::AddResource |
( |
const Char * |
Name, |
|
|
IDeviceObject * |
pObject, |
|
|
bool |
bIsUnique |
|
) |
| |
|
pure virtual |
Adds a resource to the mapping.
- Parameters
-
[in] | Name | - Resource name. |
[in] | pObject | - Pointer to the object. |
[in] | bIsUnique | - Flag indicating if a resource with the same name is allowed to be found in the mapping. In the latter case, the new resource replaces the existing one. |
Implemented in Diligent::ResourceMappingImpl.
virtual void Diligent::IResourceMapping::AddResourceArray |
( |
const Char * |
Name, |
|
|
Uint32 |
StartIndex, |
|
|
IDeviceObject *const * |
ppObjects, |
|
|
Uint32 |
NumElements, |
|
|
bool |
bIsUnique |
|
) |
| |
|
pure virtual |
Adds resource array to the mapping.
- Parameters
-
[in] | Name | - Resource array name. |
[in] | StartIndex | - First index in the array, where the first element will be inserted |
[in] | ppObjects | - Pointer to the array of objects. |
[in] | NumElements | - Number of elements to add |
[in] | bIsUnique | - Flag indicating if a resource with the same name is allowed to be found in the mapping. In the latter case, the new resource replaces the existing one. |
Implemented in Diligent::ResourceMappingImpl.
virtual void Diligent::IResourceMapping::GetResource |
( |
const Char * |
Name, |
|
|
IDeviceObject ** |
ppResource, |
|
|
Uint32 |
ArrayIndex = 0 |
|
) |
| |
|
pure virtual |
Finds a resource in the mapping.
- Parameters
-
[in] | Name | - Resource name. |
[in] | ArrayIndex | - for arrays, index of the array element. |
[out] | ppResource | - Address of the memory location where the pointer to the object with the given name will be written. If no object is found, nullptr will be written. |
Implemented in Diligent::ResourceMappingImpl.
virtual void Diligent::IResourceMapping::RemoveResourceByName |
( |
const Char * |
Name, |
|
|
Uint32 |
ArrayIndex = 0 |
|
) |
| |
|
pure virtual |
Removes a resource from the mapping using its literal name.
- Parameters
-
[in] | Name | - Name of the resource to remove. |
[in] | ArrayIndex | - For array resources, index in the array |
Implemented in Diligent::ResourceMappingImpl.