template<typename EngineImplTraits>
Diligent::TextureViewBase class

Template class implementing base functionality of the texture view interface.

Template parameters
EngineImplTraits - Engine implementation type traits.

Base classes

template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
class DeviceObjectBase<EngineImplTraits::TextureViewInterface, EngineImplTraits::RenderDeviceImplType, TextureViewDesc>
Template class implementing base functionality of the device object.

Constructors, destructors, conversion operators

TextureViewBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const TextureViewDesc& ViewDesc, ITexture* pTexture, bool bIsDefaultView)

Public functions

void SetSampler(ISampler* pSampler) final
Implementation of ITextureView::SetSampler()
auto GetSampler() -> ISampler* final
Implementation of ITextureView::GetSampler()
auto GetTexture() -> ITexture* final
Implementation of ITextureView::GetTexture()

Protected variables

RefCntAutoPtr<ISampler> m_pSampler
Strong reference to the sampler.
ITexture*const m_pTexture
Raw pointer to the texture.
RefCntAutoPtr<ITexture> m_spTexture
Strong reference to the texture. Used for non-default views to keep the texture alive.

Function documentation

template<typename EngineImplTraits>
Diligent::TextureViewBase<EngineImplTraits>::TextureViewBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const TextureViewDesc& ViewDesc, ITexture* pTexture, bool bIsDefaultView)

Parameters
pRefCounters - Reference counters object that controls the lifetime of this texture view.
pDevice - Pointer to the render device.
ViewDesc - Texture view description.
pTexture - Pointer to the texture that the view is to be created for.
bIsDefaultView - Flag indicating if the view is default view, and is thus part of the texture object. In this case the view will attach to the texture's reference counters.