VV::V3::Sampler class

Represent the state of an image sampler which is used by the implementation to read image data and apply filtering and other transformations for the shader.

This object represents a device created object on the host. As such ownership is tied to this host object. Due to this design, the object has no copy-construction allowed. Instead, default move constructor and assignment has been defined.

Base classes

struct VV::V2::Sampler
Represent the state of an image sampler which is used by the implementation to read image data and apply filtering and other transformations for the shader.

Public types

using Parent = V2::Sampler

Constructors, destructors, conversion operators

Sampler()
Default constructor.
Sampler(const LogicalDevice& _device)
Logical device specified.
Sampler(const LogicalDevice& _device, const Memory::AllocationCallbacks& _allocator)
Logical device and allocator specified.
Sampler(Sampler&& _other) noexcept
Performs a move operation to transfer ownership of the device object to this host object.
~Sampler()
Destroy the sampler.
operator Handle&()
Implicit conversion to give a reference to its handle.
operator const Handle&() const
Implicit conversion to give a readonly reference to its handle.
operator const Handle*() const
Implicit conversion to give a pointer to its handle.

Public functions

auto Create(const CreateInfo& _info) -> EResult
Create the sampler.
auto Create(const LogicalDevice& _device, const CreateInfo& _info) -> EResult
Create the sampler (logical device specified).
auto Create(const LogicalDevice& _device, const CreateInfo& _info, const Memory::AllocationCallbacks& _allocator) -> EResult
Create the sampler (logical device and allocator) specified.
void Destroy()
Destroy the sampler.
auto operator==(const Sampler& _other) const -> bool
Checks to see if its the same object by checking to see if its the same handle.
auto operator=(Sampler&& _other) -> Sampler& noexcept
Performs a move assignment operation to transfer ownership of the device object to this host object.

Protected variables

Handle handle
const Memory::AllocationCallbacks* allocator
const LogicalDevice* device