Castor3D 0.12.0
Multiplatform 3D engine
Fonctions membres publiques | Amis | Liste de tous les membres
Référence de la classe castor3d::TextureLayout

#include <TextureLayout.hpp>

Graphe d'héritage de castor3d::TextureLayout:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::TextureLayout:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API TextureLayout (RenderSystem &renderSystem, ashes::ImageCreateInfo info, VkMemoryPropertyFlags memoryProperties, castor::String debugName, bool isStatic=false)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &renderSystem, VkImage image, crg::ImageViewId imageView)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &renderSystem, ashes::ImagePtr image, VkImageCreateInfo const &createInfo)
 Constructeur. Plus de détails...
 
C3D_API ~TextureLayout ()
 Destructeur. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device, QueueData const &queueData)
 Initialise la texture et toutes ses vues. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie la texture et toutes ses vues. Plus de détails...
 
C3D_API void generateMipmaps (RenderDevice const &device) const
 Génère les mipmaps de la texture. Plus de détails...
 
C3D_API void generateMipmaps (QueueData const &queueData) const
 Génère les mipmaps de la texture. Plus de détails...
 
C3D_API void generateMipmaps (ashes::CommandBuffer &cmd) const
 Génère les mipmaps de la texture. Plus de détails...
 
Whole texture access.
C3D_API void setSource (castor::PxBufferBaseSPtr buffer, uint32_t bufferOrigLevels, bool isStatic=false)
 Définit la source de tout le layout. Plus de détails...
 
C3D_API void setSource (castor::PxBufferBaseSPtr buffer, bool isStatic=false)
 
C3D_API void setSource (castor::Path const &folder, castor::Path const &relative, castor::ImageLoaderConfig config={ true, true, true })
 
C3D_API void setSource (VkExtent3D const &extent, VkFormat format)
 
void setSource (VkExtent2D const &extent, VkFormat format)
 
Getters.
TextureView const & getDefaultView () const
 
TextureViewgetDefaultView ()
 
MipView const & getDefault () const
 
uint32_t getLayersCount () const
 
ArrayView< MipView > const & getArray2D () const
 
MipView const & getLayer2D (size_t layer) const
 
MipViewgetLayer2D (size_t layer)
 
TextureView const & getLayer2DView (size_t layer) const
 
TextureViewgetLayer2DView (size_t layer)
 

2D texture's mip level access.

TextureView const & getMipView (size_t level) const
 
TextureViewgetMipView (size_t level)
 
Texture array's layer access.
C3D_API void setLayerSource (uint32_t index, castor::PxBufferBaseSPtr buffer, uint32_t bufferOrigLevels)
 Définit la source pour tous les mip levels une couche du layout. Plus de détails...
 
C3D_API void setLayerSource (uint32_t index, castor::PxBufferBaseSPtr buffer)
 
C3D_API void setLayerSource (uint32_t index, castor::Path const &folder, castor::Path const &relative, castor::ImageLoaderConfig config={ true, true, false })
 
C3D_API void setLayerSource (uint32_t index, VkExtent3D const &extent, VkFormat format)
 
void setLayerSource (uint32_t index, VkExtent2D const &extent, VkFormat format)
 
Texture array layer's mip level access.
C3D_API void setLayerMipSource (uint32_t index, uint32_t level, castor::PxBufferBaseSPtr buffer)
 Définit la source pour un mip level d'une couche du layout. Plus de détails...
 
C3D_API void setLayerMipSource (uint32_t index, uint32_t level, castor::Path const &folder, castor::Path const &relative, castor::ImageLoaderConfig config={ true, false, false })
 
C3D_API void setLayerMipSource (uint32_t index, uint32_t level, VkExtent3D const &extent, VkFormat format)
 
void setLayerMipSource (uint32_t index, uint32_t level, VkExtent2D const &extent, VkFormat format)
 
3D texture's slice access.
SliceView< MipView > const & getSlices3D () const
 
MipView const & getSlice (size_t slice) const
 
MipViewgetSlice (size_t slice)
 
TextureView const & getSliceView (size_t slice) const
 
TextureViewgetSliceView (size_t slice)
 

Cube array's texture access.

Remarques
A simple cube texture is a cube array of size 1.
uint32_t isCube () const
 
ArrayView< CubeView > const & getArrayCube () const
 
CubeView const & getLayerCube (size_t layer) const
 
CubeViewgetLayerCube (size_t layer)
 
TextureView const & getLayerCubeView (size_t layer) const
 
TextureViewgetLayerCubeView (size_t layer)
 
Cube array texture layer's face access.
MipView const & getLayerCubeFace (size_t layer, CubeMapFace face) const
 
MipViewgetLayerCubeFace (size_t layer, CubeMapFace face)
 
TextureView const & getLayerCubeFaceView (size_t layer, CubeMapFace face) const
 
TextureViewgetLayerCubeFaceView (size_t layer, CubeMapFace face)
 
C3D_API void setLayerCubeFaceSource (uint32_t layer, CubeMapFace face, castor::PxBufferBaseSPtr buffer)
 Définit la source pour une face d'un cube d'un tableau dans le layout. Plus de détails...
 
C3D_API void setLayerCubeFaceSource (uint32_t layer, CubeMapFace face, castor::Path const &folder, castor::Path const &relative, castor::ImageLoaderConfig config={ true, true, false })
 
void setLayerCubeFaceSource (uint32_t layer, CubeMapFace face, VkExtent2D const &extent, VkFormat format)
 
Cube array texture layer face's mip level access.
TextureView const & getLayerCubeFaceMipView (size_t layer, CubeMapFace face, uint32_t level) const
 
TextureViewgetLayerCubeFaceMipView (size_t layer, CubeMapFace face, uint32_t level)
 
C3D_API void setLayerCubeFaceMipSource (uint32_t layer, CubeMapFace face, uint32_t level, castor::PxBufferBaseSPtr buffer)
 Définit la source pour un mip level d'une couche du layout. Plus de détails...
 
C3D_API void setLayerCubeFaceMipSource (uint32_t layer, CubeMapFace face, uint32_t level, castor::Path const &folder, castor::Path const &relative, castor::ImageLoaderConfig config={ true, false, false })
 
void setLayerCubeFaceMipSource (uint32_t layer, CubeMapFace face, uint32_t level, VkExtent2D const &extent, VkFormat format)
 
C3D_API castor::String getName () const
 
C3D_API castor::Path getPath () const
 
C3D_API bool needsYInversion () const
 
bool isInitialised () const
 
bool isStatic () const
 
VkImageType getType () const
 
castor::Image const & getImage () const
 
castor::Image & getImage ()
 
ashes::Image const & getTexture () const
 
ashes::ImageCreateInfo const & getCreateInfo () const
 
uint32_t getWidth () const
 
uint32_t getHeight () const
 
uint32_t getDepth () const
 
uint32_t getMipmapCount () const
 
VkExtent3D const & getDimensions () const
 
VkFormat getPixelFormat () const
 
template<typename FuncT >
void forEachView (FuncT function) const
 
template<typename FuncT >
void forEachFirstMipView (FuncT function) const
 
template<typename FuncT >
void forEachLeafView (FuncT function) const
 

Amis

class TextureView
 

Documentation des constructeurs et destructeur

◆ TextureLayout() [1/3]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
ashes::ImageCreateInfo  info,
VkMemoryPropertyFlags  memoryProperties,
castor::String  debugName,
bool  isStatic = false 
)

Constructeur.

Paramètres
[in]renderSystemLe render system.
[in]infoLes informations de l'image.
[in]memoryPropertiesLes propriétés requise pour la mémoire.
[in]debugNameLe nom de debug pour ce layout.
[in]isStaticDit si ce layout est statique.

◆ TextureLayout() [2/3]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
VkImage  image,
crg::ImageViewId  imageView 
)

Constructeur.

Paramètres
[in]renderSystemLe render system.
[in]imageL'image.
[in]imageViewLa vue sur l'image.

◆ TextureLayout() [3/3]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
ashes::ImagePtr  image,
VkImageCreateInfo const &  createInfo 
)

Constructeur.

Paramètres
[in]renderSystemLe render system.
[in]imageL'image.
[in]createInfoLes informations de l'image.

◆ ~TextureLayout()

C3D_API castor3d::TextureLayout::~TextureLayout ( )

Destructeur.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::TextureLayout::cleanup ( )

Nettoie la texture et toutes ses vues.

◆ forEachFirstMipView()

template<typename FuncT >
void castor3d::TextureLayout::forEachFirstMipView ( FuncT  function) const
inline

Références castor3d::MipView::forEachFirstMipView().

Voici le graphe d'appel pour cette fonction :

◆ forEachLeafView()

template<typename FuncT >
void castor3d::TextureLayout::forEachLeafView ( FuncT  function) const
inline

◆ forEachView()

template<typename FuncT >
void castor3d::TextureLayout::forEachView ( FuncT  function) const
inline

name Parsing des vues.

Références castor3d::MipView::forEachView().

Voici le graphe d'appel pour cette fonction :

◆ generateMipmaps() [1/3]

C3D_API void castor3d::TextureLayout::generateMipmaps ( ashes::CommandBuffer &  cmd) const

Génère les mipmaps de la texture.

Paramètres
[in]cmdLe command buffer recevant les commandes.

◆ generateMipmaps() [2/3]

C3D_API void castor3d::TextureLayout::generateMipmaps ( QueueData const &  queueData) const

Génère les mipmaps de la texture.

Paramètres
[in]queueDataLa queue recevant les commandes GPU.

◆ generateMipmaps() [3/3]

C3D_API void castor3d::TextureLayout::generateMipmaps ( RenderDevice const &  device) const

Génère les mipmaps de la texture.

Paramètres
[in]deviceLe device GPU.

◆ getArray2D()

ArrayView< MipView > const & castor3d::TextureLayout::getArray2D ( ) const
inline

◆ getArrayCube()

ArrayView< CubeView > const & castor3d::TextureLayout::getArrayCube ( ) const
inline

◆ getCreateInfo()

ashes::ImageCreateInfo const & castor3d::TextureLayout::getCreateInfo ( ) const
inline

◆ getDefault()

MipView const & castor3d::TextureLayout::getDefault ( ) const
inline

Référencé par getMipView().

Voici le graphe des appelants de cette fonction :

◆ getDefaultView() [1/2]

TextureView & castor3d::TextureLayout::getDefaultView ( )
inline

Références castor3d::MipView::view.

◆ getDefaultView() [2/2]

TextureView const & castor3d::TextureLayout::getDefaultView ( ) const
inline

Références castor3d::MipView::view.

◆ getDepth()

uint32_t castor3d::TextureLayout::getDepth ( ) const
inline

Référencé par getSlice().

Voici le graphe des appelants de cette fonction :

◆ getDimensions()

VkExtent3D const & castor3d::TextureLayout::getDimensions ( ) const
inline

◆ getHeight()

uint32_t castor3d::TextureLayout::getHeight ( ) const
inline

◆ getImage() [1/2]

castor::Image & castor3d::TextureLayout::getImage ( )
inline

◆ getImage() [2/2]

castor::Image const & castor3d::TextureLayout::getImage ( ) const
inline

◆ getLayer2D() [1/2]

MipView & castor3d::TextureLayout::getLayer2D ( size_t  layer)
inline

Références getLayersCount().

Voici le graphe d'appel pour cette fonction :

◆ getLayer2D() [2/2]

MipView const & castor3d::TextureLayout::getLayer2D ( size_t  layer) const
inline

Références getLayersCount().

Référencé par getLayer2DView().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getLayer2DView() [1/2]

TextureView & castor3d::TextureLayout::getLayer2DView ( size_t  layer)
inline

Références getLayer2D(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayer2DView() [2/2]

TextureView const & castor3d::TextureLayout::getLayer2DView ( size_t  layer) const
inline

Références getLayer2D(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCube() [1/2]

CubeView & castor3d::TextureLayout::getLayerCube ( size_t  layer)
inline

Références isCube().

Voici le graphe d'appel pour cette fonction :

◆ getLayerCube() [2/2]

CubeView const & castor3d::TextureLayout::getLayerCube ( size_t  layer) const
inline

Références isCube().

Référencé par getLayerCubeFace(), et getLayerCubeView().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getLayerCubeFace() [1/2]

MipView & castor3d::TextureLayout::getLayerCubeFace ( size_t  layer,
CubeMapFace  face 
)
inline

Références castor3d::CubeView::faces, et getLayerCube().

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeFace() [2/2]

MipView const & castor3d::TextureLayout::getLayerCubeFace ( size_t  layer,
CubeMapFace  face 
) const
inline

Références castor3d::CubeView::faces, et getLayerCube().

Référencé par getLayerCubeFaceMipView(), et getLayerCubeFaceView().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getLayerCubeFaceMipView() [1/2]

TextureView & castor3d::TextureLayout::getLayerCubeFaceMipView ( size_t  layer,
CubeMapFace  face,
uint32_t  level 
)
inline

Références getLayerCubeFace(), et castor3d::MipView::levels.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeFaceMipView() [2/2]

TextureView const & castor3d::TextureLayout::getLayerCubeFaceMipView ( size_t  layer,
CubeMapFace  face,
uint32_t  level 
) const
inline

Références getLayerCubeFace(), et castor3d::MipView::levels.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeFaceView() [1/2]

TextureView & castor3d::TextureLayout::getLayerCubeFaceView ( size_t  layer,
CubeMapFace  face 
)
inline

Références getLayerCubeFace(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeFaceView() [2/2]

TextureView const & castor3d::TextureLayout::getLayerCubeFaceView ( size_t  layer,
CubeMapFace  face 
) const
inline

Références getLayerCubeFace(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeView() [1/2]

TextureView & castor3d::TextureLayout::getLayerCubeView ( size_t  layer)
inline

Références getLayerCube(), castor3d::MipView::view, et castor3d::CubeView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayerCubeView() [2/2]

TextureView const & castor3d::TextureLayout::getLayerCubeView ( size_t  layer) const
inline

Références getLayerCube(), castor3d::MipView::view, et castor3d::CubeView::view.

Voici le graphe d'appel pour cette fonction :

◆ getLayersCount()

uint32_t castor3d::TextureLayout::getLayersCount ( ) const
inline

Référencé par getLayer2D(), et isCube().

Voici le graphe des appelants de cette fonction :

◆ getMipmapCount()

uint32_t castor3d::TextureLayout::getMipmapCount ( ) const
inline

◆ getMipView() [1/2]

TextureView & castor3d::TextureLayout::getMipView ( size_t  level)
inline

Références getDefault(), et castor3d::MipView::levels.

Voici le graphe d'appel pour cette fonction :

◆ getMipView() [2/2]

TextureView const & castor3d::TextureLayout::getMipView ( size_t  level) const
inline

Références getDefault(), et castor3d::MipView::levels.

Voici le graphe d'appel pour cette fonction :

◆ getName()

C3D_API castor::String castor3d::TextureLayout::getName ( ) const

name Getters.

◆ getPath()

C3D_API castor::Path castor3d::TextureLayout::getPath ( ) const

◆ getPixelFormat()

VkFormat castor3d::TextureLayout::getPixelFormat ( ) const
inline

◆ getSlice() [1/2]

MipView & castor3d::TextureLayout::getSlice ( size_t  slice)
inline

Références getDepth().

Voici le graphe d'appel pour cette fonction :

◆ getSlice() [2/2]

MipView const & castor3d::TextureLayout::getSlice ( size_t  slice) const
inline

Références getDepth().

Référencé par getSliceView().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getSlices3D()

SliceView< MipView > const & castor3d::TextureLayout::getSlices3D ( ) const
inline

◆ getSliceView() [1/2]

TextureView & castor3d::TextureLayout::getSliceView ( size_t  slice)
inline

Références getSlice(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getSliceView() [2/2]

TextureView const & castor3d::TextureLayout::getSliceView ( size_t  slice) const
inline

Références getSlice(), et castor3d::MipView::view.

Voici le graphe d'appel pour cette fonction :

◆ getTexture()

ashes::Image const & castor3d::TextureLayout::getTexture ( ) const
inline

◆ getType()

VkImageType castor3d::TextureLayout::getType ( ) const
inline

◆ getWidth()

uint32_t castor3d::TextureLayout::getWidth ( ) const
inline

◆ initialise()

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

Initialise la texture et toutes ses vues.

Paramètres
[in]deviceLe device GPU.
[in]queueDataLa queue recevant les commandes GPU.
Renvoie
true si tout s'est bien passé.

◆ isCube()

uint32_t castor3d::TextureLayout::isCube ( ) const
inline

Références getLayersCount().

Référencé par getLayerCube().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ isInitialised()

bool castor3d::TextureLayout::isInitialised ( ) const
inline

◆ isStatic()

bool castor3d::TextureLayout::isStatic ( ) const
inline

◆ needsYInversion()

C3D_API bool castor3d::TextureLayout::needsYInversion ( ) const

◆ setLayerCubeFaceMipSource() [1/3]

C3D_API void castor3d::TextureLayout::setLayerCubeFaceMipSource ( uint32_t  layer,
CubeMapFace  face,
uint32_t  level,
castor::Path const &  folder,
castor::Path const &  relative,
castor::ImageLoaderConfig  config = { true, false, false } 
)

◆ setLayerCubeFaceMipSource() [2/3]

C3D_API void castor3d::TextureLayout::setLayerCubeFaceMipSource ( uint32_t  layer,
CubeMapFace  face,
uint32_t  level,
castor::PxBufferBaseSPtr  buffer 
)

Définit la source pour un mip level d'une couche du layout.

◆ setLayerCubeFaceMipSource() [3/3]

void castor3d::TextureLayout::setLayerCubeFaceMipSource ( uint32_t  layer,
CubeMapFace  face,
uint32_t  level,
VkExtent2D const &  extent,
VkFormat  format 
)

◆ setLayerCubeFaceSource() [1/3]

C3D_API void castor3d::TextureLayout::setLayerCubeFaceSource ( uint32_t  layer,
CubeMapFace  face,
castor::Path const &  folder,
castor::Path const &  relative,
castor::ImageLoaderConfig  config = { true, true, false } 
)

◆ setLayerCubeFaceSource() [2/3]

C3D_API void castor3d::TextureLayout::setLayerCubeFaceSource ( uint32_t  layer,
CubeMapFace  face,
castor::PxBufferBaseSPtr  buffer 
)

Définit la source pour une face d'un cube d'un tableau dans le layout.

◆ setLayerCubeFaceSource() [3/3]

void castor3d::TextureLayout::setLayerCubeFaceSource ( uint32_t  layer,
CubeMapFace  face,
VkExtent2D const &  extent,
VkFormat  format 
)

◆ setLayerMipSource() [1/4]

C3D_API void castor3d::TextureLayout::setLayerMipSource ( uint32_t  index,
uint32_t  level,
castor::Path const &  folder,
castor::Path const &  relative,
castor::ImageLoaderConfig  config = { true, false, false } 
)

◆ setLayerMipSource() [2/4]

C3D_API void castor3d::TextureLayout::setLayerMipSource ( uint32_t  index,
uint32_t  level,
castor::PxBufferBaseSPtr  buffer 
)

Définit la source pour un mip level d'une couche du layout.

Référencé par setLayerMipSource().

Voici le graphe des appelants de cette fonction :

◆ setLayerMipSource() [3/4]

void castor3d::TextureLayout::setLayerMipSource ( uint32_t  index,
uint32_t  level,
VkExtent2D const &  extent,
VkFormat  format 
)
inline

Références setLayerMipSource().

Voici le graphe d'appel pour cette fonction :

◆ setLayerMipSource() [4/4]

C3D_API void castor3d::TextureLayout::setLayerMipSource ( uint32_t  index,
uint32_t  level,
VkExtent3D const &  extent,
VkFormat  format 
)

◆ setLayerSource() [1/5]

C3D_API void castor3d::TextureLayout::setLayerSource ( uint32_t  index,
castor::Path const &  folder,
castor::Path const &  relative,
castor::ImageLoaderConfig  config = { true, true, false } 
)

◆ setLayerSource() [2/5]

C3D_API void castor3d::TextureLayout::setLayerSource ( uint32_t  index,
castor::PxBufferBaseSPtr  buffer 
)

◆ setLayerSource() [3/5]

C3D_API void castor3d::TextureLayout::setLayerSource ( uint32_t  index,
castor::PxBufferBaseSPtr  buffer,
uint32_t  bufferOrigLevels 
)

Définit la source pour tous les mip levels une couche du layout.

Référencé par setLayerSource().

Voici le graphe des appelants de cette fonction :

◆ setLayerSource() [4/5]

void castor3d::TextureLayout::setLayerSource ( uint32_t  index,
VkExtent2D const &  extent,
VkFormat  format 
)
inline

Références setLayerSource().

Voici le graphe d'appel pour cette fonction :

◆ setLayerSource() [5/5]

C3D_API void castor3d::TextureLayout::setLayerSource ( uint32_t  index,
VkExtent3D const &  extent,
VkFormat  format 
)

◆ setSource() [1/5]

C3D_API void castor3d::TextureLayout::setSource ( castor::Path const &  folder,
castor::Path const &  relative,
castor::ImageLoaderConfig  config = { true, true, true } 
)

◆ setSource() [2/5]

C3D_API void castor3d::TextureLayout::setSource ( castor::PxBufferBaseSPtr  buffer,
bool  isStatic = false 
)

◆ setSource() [3/5]

C3D_API void castor3d::TextureLayout::setSource ( castor::PxBufferBaseSPtr  buffer,
uint32_t  bufferOrigLevels,
bool  isStatic = false 
)

Définit la source de tout le layout.

Référencé par setSource().

Voici le graphe des appelants de cette fonction :

◆ setSource() [4/5]

void castor3d::TextureLayout::setSource ( VkExtent2D const &  extent,
VkFormat  format 
)
inline

Références setSource().

Voici le graphe d'appel pour cette fonction :

◆ setSource() [5/5]

C3D_API void castor3d::TextureLayout::setSource ( VkExtent3D const &  extent,
VkFormat  format 
)

Documentation des fonctions amies et associées

◆ TextureView

friend class TextureView
friend

La documentation de cette classe a été générée à partir du fichier suivant :