CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPUResourceBinding Class Reference

#include <CeresEngine/RenderAPI/GPUResourceSet.hpp>

Inheritance diagram for CeresEngine::GPUResourceBinding:
CeresEngine::Variant< std::nullptr_t, GPUBufferResourceBinding, GPUImageResourceBinding, GPUSamplerResourceBinding >

Public Member Functions

 GPUResourceBinding (GPUBufferPtr buffer, const GPUBufferViewDescriptor &bufferView={})
 
 GPUResourceBinding (GPUBuffer &buffer, const GPUBufferViewDescriptor &bufferView={})
 
 GPUResourceBinding (const GPUBufferObject &buffer)
 
 GPUResourceBinding (GPUImagePtr image, GPUSamplerPtr sampler=nullptr)
 
 GPUResourceBinding (GPUImage &image, GPUSamplerPtr sampler=nullptr)
 
 GPUResourceBinding (GPUImagePtr image, GPUSampler &sampler)
 
 GPUResourceBinding (GPUImage &image, GPUSampler &sampler)
 
 GPUResourceBinding (GPUSamplerPtr sampler)
 
 GPUResourceBinding (GPUSampler &sampler)
 
bool isEmpty () const noexcept
 Determines if the binding is empty.
 
 operator bool () const noexcept
 Determines if the binding is empty.
 
bool isBufferBinding () const noexcept
 Determines if the binding is a Buffer binding.
 
const GPUBufferResourceBindingasBufferBinding () const
 Gets the binding as a Buffer binding.
 
GPUBufferResourceBindingasBufferBinding ()
 Gets the binding as a Buffer binding.
 
bool isImageBinding () const noexcept
 Determines if the binding is an Image binding.
 
const GPUImageResourceBindingasImageBinding () const
 Gets the binding as an Image binding.
 
GPUImageResourceBindingasImageBinding ()
 Gets the binding as an Image binding.
 
bool isSamplerBinding () const noexcept
 Determines if the binding is an Sampler binding.
 
const GPUSamplerResourceBindingasSamplerBinding () const
 Gets the binding as an Sampler binding.
 
GPUSamplerResourceBindingasSamplerBinding ()
 Gets the binding as an Sampler binding.
 

Private Types

using super = Variant< std::nullptr_t, GPUBufferResourceBinding, GPUImageResourceBinding, GPUSamplerResourceBinding >
 

Friends

bool operator== (const GPUResourceBinding &lhs, std::nullptr_t) noexcept
 
bool operator!= (const GPUResourceBinding &lhs, const std::nullptr_t rhs) noexcept
 

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ GPUResourceBinding() [1/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUBufferPtr  buffer,
const GPUBufferViewDescriptor bufferView = {} 
)
inline

◆ GPUResourceBinding() [2/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUBuffer buffer,
const GPUBufferViewDescriptor bufferView = {} 
)
inline

◆ GPUResourceBinding() [3/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( const GPUBufferObject buffer)

◆ GPUResourceBinding() [4/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUImagePtr  image,
GPUSamplerPtr  sampler = nullptr 
)
inline

◆ GPUResourceBinding() [5/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUImage image,
GPUSamplerPtr  sampler = nullptr 
)
inline

◆ GPUResourceBinding() [6/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUImagePtr  image,
GPUSampler sampler 
)
inline

◆ GPUResourceBinding() [7/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUImage image,
GPUSampler sampler 
)
inline

◆ GPUResourceBinding() [8/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUSamplerPtr  sampler)
inline

◆ GPUResourceBinding() [9/9]

CeresEngine::GPUResourceBinding::GPUResourceBinding ( GPUSampler sampler)
inline

Member Function Documentation

◆ asBufferBinding() [1/2]

GPUBufferResourceBinding & CeresEngine::GPUResourceBinding::asBufferBinding ( )
inline

Gets the binding as a Buffer binding.

◆ asBufferBinding() [2/2]

const GPUBufferResourceBinding & CeresEngine::GPUResourceBinding::asBufferBinding ( ) const
inline

Gets the binding as a Buffer binding.

◆ asImageBinding() [1/2]

GPUImageResourceBinding & CeresEngine::GPUResourceBinding::asImageBinding ( )
inline

Gets the binding as an Image binding.

◆ asImageBinding() [2/2]

const GPUImageResourceBinding & CeresEngine::GPUResourceBinding::asImageBinding ( ) const
inline

Gets the binding as an Image binding.

◆ asSamplerBinding() [1/2]

GPUSamplerResourceBinding & CeresEngine::GPUResourceBinding::asSamplerBinding ( )
inline

Gets the binding as an Sampler binding.

◆ asSamplerBinding() [2/2]

const GPUSamplerResourceBinding & CeresEngine::GPUResourceBinding::asSamplerBinding ( ) const
inline

Gets the binding as an Sampler binding.

◆ isBufferBinding()

bool CeresEngine::GPUResourceBinding::isBufferBinding ( ) const
inlinenoexcept

Determines if the binding is a Buffer binding.

◆ isEmpty()

bool CeresEngine::GPUResourceBinding::isEmpty ( ) const
inlinenoexcept

Determines if the binding is empty.

◆ isImageBinding()

bool CeresEngine::GPUResourceBinding::isImageBinding ( ) const
inlinenoexcept

Determines if the binding is an Image binding.

◆ isSamplerBinding()

bool CeresEngine::GPUResourceBinding::isSamplerBinding ( ) const
inlinenoexcept

Determines if the binding is an Sampler binding.

◆ operator bool()

CeresEngine::GPUResourceBinding::operator bool ( ) const
inlineexplicitnoexcept

Determines if the binding is empty.

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const GPUResourceBinding lhs,
const std::nullptr_t  rhs 
)
friend

◆ operator==

bool operator== ( const GPUResourceBinding lhs,
std::nullptr_t   
)
friend

The documentation for this class was generated from the following file: