Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Public Attributes | Friends | List of all members
castor3d::TextureUnit Class Reference

#include <TextureUnit.hpp>

Inheritance diagram for castor3d::TextureUnit:
Inheritance graph
[legend]
Collaboration diagram for castor3d::TextureUnit:
Collaboration graph
[legend]

Public Member Functions

 TextureUnit (TextureUnit const &)=delete
 
TextureUnitoperator= (TextureUnit const &)=delete
 
C3D_API TextureUnit (TextureUnit &&rhs)
 
C3D_API TextureUnitoperator= (TextureUnit &&rhs)=delete
 
C3D_API TextureUnit (Engine &engine, TextureSourceInfo const &sourceInfo)
 Constructor. More...
 
C3D_API ~TextureUnit () override
 Destructor. More...
 
C3D_API bool initialise (RenderDevice const &device, QueueData const &queueData)
 Initialises the texture, id est : fills the image buffer, creates the texture in the render system. More...
 
C3D_API void cleanup ()
 Cleans up the texture. More...
 
C3D_API void setTexture (TextureLayoutSPtr texture)
 Sets the texture. More...
 
C3D_API TextureAnimationcreateAnimation ()
 Creates the animation. More...
 
C3D_API void removeAnimation ()
 Removes the animation. More...
 
C3D_API TextureAnimationgetAnimation ()
 
C3D_API TextureAnimation const & getAnimation () const
 
C3D_API VkImageType getType () const
 
C3D_API castor::String toString () const
 
C3D_API TextureFlags getFlags () const
 
C3D_API bool isInitialised () const
 
C3D_API bool isTransformAnimated () const
 
C3D_API bool isTileAnimated () const
 
TextureLayoutSPtr getTexture () const
 
TextureConfiguration const & getConfiguration () const
 
SamplerResPtr getSampler () const
 
bool isTextured () const
 
RenderTargetSPtr getRenderTarget () const
 
ashes::WriteDescriptorSet getDescriptor () const
 
uint32_t getId () const
 
bool hasDevice () const
 
RenderDevice const & getDevice () const
 
bool hasAnimation () const
 
TextureTransform const & getTransform () const
 
TextureSourceInfo const & getSourceInfo () const
 
C3D_API void setConfiguration (TextureConfiguration value)
 
C3D_API void setTransform (castor::Point3f const &translate, castor::Angle const &rotate, castor::Point3f const &scale)
 
C3D_API void setTransform (TextureTransform const &transform)
 
C3D_API void setAnimationTransform (castor::Point3f const &translate, castor::Angle const &rotate, castor::Point3f const &scale)
 
void setRenderTarget (RenderTargetSPtr value)
 
void setSampler (SamplerResPtr value)
 
void setOwnSampler (SamplerRes value)
 
void setId (uint32_t value)
 
- Public Member Functions inherited from castor3d::AnimableT< Engine >
virtual C3D_API ~AnimableT ()=default
 
void cleanupAnimations ()
 Empties the animations map. More...
 
bool hasAnimation () const
 
bool hasAnimation (castor::String const &name) const
 
Animation const & getAnimation (castor::String const &name) const
 Retrieves an animation. More...
 
AnimationgetAnimation (castor::String const &name)
 Retrieves an animation. More...
 
void addAnimation (AnimationPtr animation)
 Adds an animation. More...
 
AnimationPtrStrMap const & getAnimations () const
 

Static Public Member Functions

static C3D_API TextureUnit create (Engine &engine, RenderDevice const &device, castor::String const &name, VkFormat format, uint32_t size, VkImageCreateFlags createFlags, VkImageUsageFlags usageFlags)
 
static C3D_API TextureUnit create (Engine &engine, RenderDevice const &device, castor::String const &name, VkFormat format, uint32_t size, uint32_t arrayLayers, VkImageCreateFlags createFlags, VkImageUsageFlags usageFlags)
 
static C3D_API TextureUnit create (Engine &engine, RenderDevice const &device, castor::String const &name, VkFormat format, VkExtent2D const &size, VkImageCreateFlags createFlags, VkImageUsageFlags usageFlags)
 
static C3D_API TextureUnit create (Engine &engine, RenderDevice const &device, castor::String const &name, VkFormat format, VkExtent2D const &size, uint32_t arrayLayers, VkImageCreateFlags createFlags, VkImageUsageFlags usageFlags)
 
static C3D_API TextureUnit create (Engine &engine, RenderDevice const &device, castor::String const &name, VkFormat format, VkExtent3D const &size, VkImageCreateFlags createFlags, VkImageUsageFlags usageFlags)
 

Public Attributes

OnTextureUnitChanged onChanged
 

Friends

class TextureRenderer
 

Additional Inherited Members

- Protected Types inherited from castor3d::AnimableT< Engine >
using Animation = AnimationT< Engine >
 
using AnimationPtr = std::unique_ptr< Animation >
 
using AnimationPtrStrMap = std::map< castor::String, AnimationPtr >
 
- Protected Member Functions inherited from castor3d::AnimableT< Engine >
void doRemoveAnimation (castor::String const &name)
 Removes an animation. More...
 
AnimationTypedoGetAnimation (castor::String const &name)
 Retrieves an animation. More...
 
AnimationType const & doGetAnimation (castor::String const &name) const
 Retrieves an animation. More...
 
 AnimableT (Engine &owner)
 
C3D_API AnimableT (AnimableT &&rhs)=default
 
C3D_API AnimableT (AnimableT const &rhs)=delete
 
C3D_API AnimableToperator= (AnimableT &&rhs)=delete
 
C3D_API AnimableToperator= (AnimableT const &rhs)=delete
 
- Protected Attributes inherited from castor3d::AnimableT< Engine >
AnimationPtrStrMap m_animations
 

Constructor & Destructor Documentation

◆ TextureUnit() [1/3]

castor3d::TextureUnit::TextureUnit ( TextureUnit const &  )
delete

◆ TextureUnit() [2/3]

C3D_API castor3d::TextureUnit::TextureUnit ( TextureUnit &&  rhs)

◆ TextureUnit() [3/3]

C3D_API castor3d::TextureUnit::TextureUnit ( Engine engine,
TextureSourceInfo const &  sourceInfo 
)
explicit

Constructor.

Parameters
engineThe engine.
sourceInfoThe source informations.

◆ ~TextureUnit()

C3D_API castor3d::TextureUnit::~TextureUnit ( )
override

Destructor.

Member Function Documentation

◆ cleanup()

C3D_API void castor3d::TextureUnit::cleanup ( )

Cleans up the texture.

◆ create() [1/5]

static C3D_API TextureUnit castor3d::TextureUnit::create ( Engine engine,
RenderDevice const &  device,
castor::String const &  name,
VkFormat  format,
uint32_t  size,
uint32_t  arrayLayers,
VkImageCreateFlags  createFlags,
VkImageUsageFlags  usageFlags 
)
static

◆ create() [2/5]

static C3D_API TextureUnit castor3d::TextureUnit::create ( Engine engine,
RenderDevice const &  device,
castor::String const &  name,
VkFormat  format,
uint32_t  size,
VkImageCreateFlags  createFlags,
VkImageUsageFlags  usageFlags 
)
static

name Creators.

◆ create() [3/5]

static C3D_API TextureUnit castor3d::TextureUnit::create ( Engine engine,
RenderDevice const &  device,
castor::String const &  name,
VkFormat  format,
VkExtent2D const &  size,
uint32_t  arrayLayers,
VkImageCreateFlags  createFlags,
VkImageUsageFlags  usageFlags 
)
static

◆ create() [4/5]

static C3D_API TextureUnit castor3d::TextureUnit::create ( Engine engine,
RenderDevice const &  device,
castor::String const &  name,
VkFormat  format,
VkExtent2D const &  size,
VkImageCreateFlags  createFlags,
VkImageUsageFlags  usageFlags 
)
static

◆ create() [5/5]

static C3D_API TextureUnit castor3d::TextureUnit::create ( Engine engine,
RenderDevice const &  device,
castor::String const &  name,
VkFormat  format,
VkExtent3D const &  size,
VkImageCreateFlags  createFlags,
VkImageUsageFlags  usageFlags 
)
static

◆ createAnimation()

C3D_API TextureAnimation & castor3d::TextureUnit::createAnimation ( )

Creates the animation.

name Animation.

Returns
The animation

◆ getAnimation() [1/2]

C3D_API TextureAnimation & castor3d::TextureUnit::getAnimation ( )
Returns
The animation.

◆ getAnimation() [2/2]

C3D_API TextureAnimation const & castor3d::TextureUnit::getAnimation ( ) const
Returns
The animation.

◆ getConfiguration()

TextureConfiguration const & castor3d::TextureUnit::getConfiguration ( ) const
inline

◆ getDescriptor()

ashes::WriteDescriptorSet castor3d::TextureUnit::getDescriptor ( ) const
inline

◆ getDevice()

RenderDevice const & castor3d::TextureUnit::getDevice ( ) const
inline

References hasDevice().

Here is the call graph for this function:

◆ getFlags()

C3D_API TextureFlags castor3d::TextureUnit::getFlags ( ) const

◆ getId()

uint32_t castor3d::TextureUnit::getId ( ) const
inline

◆ getRenderTarget()

RenderTargetSPtr castor3d::TextureUnit::getRenderTarget ( ) const
inline

◆ getSampler()

SamplerResPtr castor3d::TextureUnit::getSampler ( ) const
inline

◆ getSourceInfo()

TextureSourceInfo const & castor3d::TextureUnit::getSourceInfo ( ) const
inline

◆ getTexture()

TextureLayoutSPtr castor3d::TextureUnit::getTexture ( ) const
inline

◆ getTransform()

TextureTransform const & castor3d::TextureUnit::getTransform ( ) const
inline

◆ getType()

C3D_API VkImageType castor3d::TextureUnit::getType ( ) const

name Getters.

◆ hasAnimation()

bool castor3d::TextureUnit::hasAnimation ( ) const
inline

References hasAnimation().

Referenced by hasAnimation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasDevice()

bool castor3d::TextureUnit::hasDevice ( ) const
inline

Referenced by getDevice().

Here is the caller graph for this function:

◆ initialise()

C3D_API bool castor3d::TextureUnit::initialise ( RenderDevice const &  device,
QueueData const &  queueData 
)

Initialises the texture, id est : fills the image buffer, creates the texture in the render system.

Parameters
[in]deviceThe GPU device.
[in]queueDataThe queue receiving the GPU commands.

◆ isInitialised()

C3D_API bool castor3d::TextureUnit::isInitialised ( ) const

◆ isTextured()

bool castor3d::TextureUnit::isTextured ( ) const
inline

◆ isTileAnimated()

C3D_API bool castor3d::TextureUnit::isTileAnimated ( ) const

◆ isTransformAnimated()

C3D_API bool castor3d::TextureUnit::isTransformAnimated ( ) const

◆ operator=() [1/2]

C3D_API TextureUnit & castor3d::TextureUnit::operator= ( TextureUnit &&  rhs)
delete

◆ operator=() [2/2]

TextureUnit & castor3d::TextureUnit::operator= ( TextureUnit const &  )
delete

◆ removeAnimation()

C3D_API void castor3d::TextureUnit::removeAnimation ( )

Removes the animation.

◆ setAnimationTransform()

C3D_API void castor3d::TextureUnit::setAnimationTransform ( castor::Point3f const &  translate,
castor::Angle const &  rotate,
castor::Point3f const &  scale 
)

◆ setConfiguration()

C3D_API void castor3d::TextureUnit::setConfiguration ( TextureConfiguration  value)

name Mutators.

◆ setId()

void castor3d::TextureUnit::setId ( uint32_t  value)
inline

◆ setOwnSampler()

void castor3d::TextureUnit::setOwnSampler ( SamplerRes  value)
inline

References setSampler().

Here is the call graph for this function:

◆ setRenderTarget()

void castor3d::TextureUnit::setRenderTarget ( RenderTargetSPtr  value)
inline

◆ setSampler()

void castor3d::TextureUnit::setSampler ( SamplerResPtr  value)
inline

Referenced by setOwnSampler().

Here is the caller graph for this function:

◆ setTexture()

C3D_API void castor3d::TextureUnit::setTexture ( TextureLayoutSPtr  texture)

Sets the texture.

Parameters
[in]textureThe texture.

◆ setTransform() [1/2]

C3D_API void castor3d::TextureUnit::setTransform ( castor::Point3f const &  translate,
castor::Angle const &  rotate,
castor::Point3f const &  scale 
)

◆ setTransform() [2/2]

C3D_API void castor3d::TextureUnit::setTransform ( TextureTransform const &  transform)

◆ toString()

C3D_API castor::String castor3d::TextureUnit::toString ( ) const

Friends And Related Function Documentation

◆ TextureRenderer

friend class TextureRenderer
friend

Member Data Documentation

◆ onChanged

OnTextureUnitChanged castor3d::TextureUnit::onChanged

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