Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::SamplerBase< BaseInterface, RenderDeviceBaseInterface, SamplerObjAllocator > Class Template Reference

Template class implementing base functionality for a sampler object. More...

Inheritance diagram for Diligent::SamplerBase< BaseInterface, RenderDeviceBaseInterface, SamplerObjAllocator >:
Diligent::DeviceObjectBase< BaseInterface, SamplerDesc, SamplerObjAllocator > Diligent::ObjectBase< BaseInterface, SamplerObjAllocator > Diligent::RefCountedObject< BaseInterface, SamplerObjAllocator >

Public Member Functions

 SamplerBase (SamplerObjAllocator &ObjAllocator, IRenderDevice *pDevice, const SamplerDesc &SamDesc, bool bIsDeviceInternal=false)
 
 ~SamplerBase ()
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< BaseInterface, SamplerDesc, SamplerObjAllocator >
 DeviceObjectBase (SamplerObjAllocator &ObjAllocator, class IRenderDevice *pDevice, const SamplerDesc &ObjDesc, IObject *pOwner=nullptr, bool bIsDeviceInternal=false)
 
UniqueIdentifier GetUniqueID () const
 Returns unique identifier. More...
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::DeviceObjectBase< BaseInterface, SamplerDesc, SamplerObjAllocator >
const String m_ObjectNameCopy
 Copy of a device object name. More...
 
SamplerDesc m_Desc
 Object description.
 

Detailed Description

template<class BaseInterface, class RenderDeviceBaseInterface, class SamplerObjAllocator>
class Diligent::SamplerBase< BaseInterface, RenderDeviceBaseInterface, SamplerObjAllocator >

Template class implementing base functionality for a sampler object.

Template Parameters
BaseInterface- base interface that this class will inheret (Diligent::ISamplerD3D11, Diligent::ISamplerD3D12 or Diligent::ISamplerGL).
RenderDeviceBaseInterface- base interface for the render device (Diligent::IRenderDeviceD3D11, Diligent::IRenderDeviceD3D12, Diligent::IRenderDeviceGL, or Diligent::IRenderDeviceGLES).
SamplerObjAllocator- type of the allocator that is used to allocate memory for the sampler object instances

Constructor & Destructor Documentation

template<class BaseInterface, class RenderDeviceBaseInterface, class SamplerObjAllocator>
Diligent::SamplerBase< BaseInterface, RenderDeviceBaseInterface, SamplerObjAllocator >::SamplerBase ( SamplerObjAllocator &  ObjAllocator,
IRenderDevice pDevice,
const SamplerDesc SamDesc,
bool  bIsDeviceInternal = false 
)
inline
Parameters
ObjAllocator- allocator that was used to allocate memory for this instance of the sampler object
pDevice- pointer to the device.
SamDesc- sampler description.
bIsDeviceInternal- flag indicating if the sampler is an internal device object and must not keep a strong reference to the device.
template<class BaseInterface, class RenderDeviceBaseInterface, class SamplerObjAllocator>
Diligent::SamplerBase< BaseInterface, RenderDeviceBaseInterface, SamplerObjAllocator >::~SamplerBase ( )
inline
Note
Destructor cannot directly remove the object from the registry as this may cause a deadlock.