Vireo  0.0
Vireo 3D Rendering Hardware Interface
DescriptorSet Class Referenceabstract

Detailed Description

A descriptor set object. Contains resources for the shaders.

Manual page : Descriptor Set

Public Member Functions

virtual void update (DescriptorIndex index, const std::shared_ptr< const Buffer > &buffer) = 0
 
virtual void update (DescriptorIndex index, const std::shared_ptr< const Buffer > &buffer, const std::shared_ptr< const Buffer > &counterBuffer) = 0
 
virtual void update (DescriptorIndex index, const Buffer &buffer, const Buffer &counterBuffer) = 0
 
virtual void update (DescriptorIndex index, const Buffer &buffer) = 0
 
void update (const std::shared_ptr< const Buffer > &buffer)
 
void update (const DescriptorIndex index, const std::shared_ptr< const Image > &image)
 
virtual void update (DescriptorIndex index, const Image &image) = 0
 
void update (const DescriptorIndex index, const std::shared_ptr< const Sampler > &sampler)
 
virtual void update (DescriptorIndex index, const Sampler &sampler) = 0
 
virtual void update (DescriptorIndex index, const std::vector< std::shared_ptr< Image >> &images) = 0
 
virtual void update (DescriptorIndex index, const std::vector< std::shared_ptr< Buffer >> &buffers) = 0
 
virtual void update (DescriptorIndex index, const std::vector< std::shared_ptr< Sampler >> &samplers) = 0
 
const auto & getLayout () const
 
virtual ~DescriptorSet () = default
 
 DescriptorSet (DescriptorSet &) = delete
 
DescriptorSet & operator= (const DescriptorSet &) = delete
 

Protected Member Functions

 DescriptorSet (const std::shared_ptr< const DescriptorLayout > &layout)
 

Protected Attributes

const std::shared_ptr< const DescriptorLayoutlayout
 

Constructor & Destructor Documentation

virtual ~DescriptorSet ( )
virtualdefault
DescriptorSet ( DescriptorSet &  )
delete
DescriptorSet ( const std::shared_ptr< const DescriptorLayout > &  layout)
inlineprotected

Member Function Documentation

const auto& getLayout ( ) const
inline
DescriptorSet& operator= ( const DescriptorSet &  )
delete
void update ( const DescriptorIndex  index,
const std::shared_ptr< const Image > &  image 
)
inline

Bind a texture

Parameters
indexBinding index
imageThe texture
void update ( const DescriptorIndex  index,
const std::shared_ptr< const Sampler > &  sampler 
)
inline

Bind a sampler

Parameters
indexBinding index
samplerThe sampler
void update ( const std::shared_ptr< const Buffer > &  buffer)
inline

Bind a dynamic uniform buffer

Parameters
bufferThe buffer
virtual void update ( DescriptorIndex  index,
const Buffer buffer 
)
pure virtual

Bind an uniform buffer

Parameters
indexBinding index
bufferThe buffer
virtual void update ( DescriptorIndex  index,
const Buffer buffer,
const Buffer counterBuffer 
)
pure virtual
virtual void update ( DescriptorIndex  index,
const Image image 
)
pure virtual

Bind a texture

Parameters
indexBinding index
imageThe texture
virtual void update ( DescriptorIndex  index,
const Sampler sampler 
)
pure virtual

Bind a sampler

Parameters
indexBinding index
samplerThe sampler
virtual void update ( DescriptorIndex  index,
const std::shared_ptr< const Buffer > &  buffer 
)
pure virtual

Bind an uniform buffer

Parameters
indexBinding index
bufferThe buffer
virtual void update ( DescriptorIndex  index,
const std::shared_ptr< const Buffer > &  buffer,
const std::shared_ptr< const Buffer > &  counterBuffer 
)
pure virtual
virtual void update ( DescriptorIndex  index,
const std::vector< std::shared_ptr< Buffer >> &  buffers 
)
pure virtual

Bind an array of buffers

Parameters
indexBinding index
buffersThe buffers
virtual void update ( DescriptorIndex  index,
const std::vector< std::shared_ptr< Image >> &  images 
)
pure virtual

Bind an array of textures

Parameters
indexBinding index
imagesThe images
virtual void update ( DescriptorIndex  index,
const std::vector< std::shared_ptr< Sampler >> &  samplers 
)
pure virtual

Bind an array of samplers

Parameters
indexBinding index
samplersThe samplers

Member Data Documentation

const std::shared_ptr<const DescriptorLayout> layout
protected