Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::ITextureView Class Referenceabstract

Texture view interface. More...

Inheritance diagram for Diligent::ITextureView:
Diligent::IDeviceObject Diligent::IObject Diligent::ITextureViewD3D11 Diligent::ITextureViewD3D12 Diligent::ITextureViewGL Diligent::RefCountedObject< ITextureViewD3D11, FixedBlockMemoryAllocator > Diligent::RefCountedObject< ITextureViewD3D12, FixedBlockMemoryAllocator > Diligent::RefCountedObject< ITextureViewGL, FixedBlockMemoryAllocator > Diligent::ObjectBase< ITextureViewD3D11, FixedBlockMemoryAllocator > Diligent::ObjectBase< ITextureViewD3D12, FixedBlockMemoryAllocator > Diligent::ObjectBase< ITextureViewGL, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< ITextureViewD3D11, TextureViewDesc, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< ITextureViewD3D12, TextureViewDesc, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< ITextureViewGL, TextureViewDesc, FixedBlockMemoryAllocator > Diligent::TextureViewBase< ITextureViewD3D11, FixedBlockMemoryAllocator > Diligent::TextureViewBase< ITextureViewD3D12, FixedBlockMemoryAllocator > Diligent::TextureViewBase< ITextureViewGL, FixedBlockMemoryAllocator > Diligent::TextureViewD3D11Impl Diligent::TextureViewD3D12Impl Diligent::TextureViewGLImpl

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual const TextureViewDescGetDesc () const =0
 Returns the texture view description used to create the object.
 
virtual void SetSampler (class ISampler *pSampler)=0
 Sets the texture sampler to use for filtering operations when accessing a texture from shaders. Only shader resource views can be assigned a sampler. The view will keep strong reference to the sampler.
 
virtual ISamplerGetSampler ()=0
 Returns the pointer to the sampler object set by the ITextureView::SetSampler(). More...
 
virtual class ITextureGetTexture ()=0
 Returns the pointer to the referenced texture object. More...
 
virtual void GenerateMips (IDeviceContext *pContext)=0
 Generates a mipmap chain. More...
 
- Public Member Functions inherited from Diligent::IObject
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 IReferenceCountersGetReferenceCounters () 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.
 

Detailed Description

Texture view interface.

Remarks
To create a texture view, call ITexture::CreateView(). Texture view holds strong references to the texture. The texture will not be destroyed until all views are released. The texture view will also keep a strong reference to the texture sampler, if any is set.

Member Function Documentation

virtual void Diligent::ITextureView::GenerateMips ( IDeviceContext pContext)
pure virtual

Generates a mipmap chain.

Remarks
This function can only be called for a shader resource view The texture must be created with MISC_TEXTURE_FLAG_GENERATE_MIPS flag

Implemented in Diligent::TextureViewD3D11Impl, Diligent::TextureViewGLImpl, and Diligent::TextureViewD3D12Impl.

virtual ISampler* Diligent::ITextureView::GetSampler ( )
pure virtual
virtual class ITexture* Diligent::ITextureView::GetTexture ( )
pure virtual

Returns the pointer to the referenced texture object.

The method does NOT call AddRef() on the returned interface, so Release() must not be called.

Implemented in Diligent::TextureViewBase< ITextureViewD3D12, FixedBlockMemoryAllocator >, Diligent::TextureViewBase< ITextureViewGL, FixedBlockMemoryAllocator >, and Diligent::TextureViewBase< ITextureViewD3D11, FixedBlockMemoryAllocator >.