Go to the documentation of this file.
44 template <
typename EngineImplTraits>
45 class TextureViewBase :
public DeviceObjectBase<typename EngineImplTraits::TextureViewInterface, typename EngineImplTraits::RenderDeviceImplType, TextureViewDesc>
68 bool bIsDefaultView) :
83 #ifdef DILIGENT_DEVELOPMENT
112 template <
typename TextureType>
115 return ValidatedCast<TextureType>(
m_pTexture);
118 template <
typename TextureType>
121 return ValidatedCast<TextureType>(
m_pTexture);
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
TextureViewBase(IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const TextureViewDesc &ViewDesc, ITexture *pTexture, bool bIsDefaultView)
Definition: TextureViewBase.hpp:64
Texture sampler interface.
Definition: Sampler.h:192
TextureType * GetTexture() const
Definition: TextureViewBase.hpp:119
DeviceObjectBase< BaseInterface, RenderDeviceImplType, TextureViewDesc > TDeviceObjectBase
Definition: TextureViewBase.hpp:54
ITexture *const m_pTexture
Raw pointer to the texture.
Definition: TextureViewBase.hpp:129
#define LOG_ERROR(...)
Definition: Errors.hpp:76
TextureViewDesc m_Desc
Object description.
Definition: DeviceObjectBase.hpp:182
const Char * GetTexViewTypeLiteralName(TEXTURE_VIEW_TYPE ViewType)
Returns the literal name of a texture view type. For instance, for a shader resource view,...
Definition: GraphicsAccessories.cpp:408
const ISampler * GetSampler() const
Definition: TextureViewBase.hpp:96
virtual ITexture * GetTexture() override final
Implementation of ITextureView::GetTexture()
Definition: TextureViewBase.hpp:102
TEXTURE_VIEW_TYPE ViewType
Describes the texture view type, see Diligent::TEXTURE_VIEW_TYPE for details.
Definition: TextureView.h:83
typename EngineGLImplTraits ::TextureViewInterface BaseInterface
Definition: TextureViewBase.hpp:49
#define IMPLEMENT_QUERY_INTERFACE_IN_PLACE(InterfaceID, ParentClassName)
Definition: ObjectBase.hpp:59
Template class implementing base functionality of the texture view interface.
Definition: TextureViewBase.hpp:45
Template class that implements reference counting.
Definition: RefCntAutoPtr.hpp:73
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
virtual void SetSampler(ISampler *pSampler) override final
Implementation of ITextureView::SetSampler()
Definition: TextureViewBase.hpp:81
virtual ISampler * GetSampler() override final
Implementation of ITextureView::GetSampler()
Definition: TextureViewBase.hpp:91
RefCntAutoPtr< ISampler > m_pSampler
Strong reference to the sampler.
Definition: TextureViewBase.hpp:126
const ITexture * GetTexture() const
Definition: TextureViewBase.hpp:107
typename EngineGLImplTraits ::RenderDeviceImplType RenderDeviceImplType
Definition: TextureViewBase.hpp:52
Texture view description.
Definition: TextureView.h:80
@ TEXTURE_VIEW_SHADER_RESOURCE
A texture view will define a shader resource view that will be used as the source for the shader read...
Definition: GraphicsTypes.h:281
Texture inteface.
Definition: Texture.h:273
TextureType * GetTexture()
Definition: TextureViewBase.hpp:113
RefCntAutoPtr< ITexture > m_spTexture
Strong reference to the texture. Used for non-default views to keep the texture alive.
Definition: TextureViewBase.hpp:133
const Char * Name
Object name.
Definition: GraphicsTypes.h:1199
Template class implementing base functionality of the device object.
Definition: DeviceObjectBase.hpp:45
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37