Castor3D  ..
Fonctions membres publiques | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe castor3d::TextureLayoutabstract

Class de base d'une texture. Plus de détails...

+ Graphe d'héritage de castor3d::TextureLayout:
+ Graphe de collaboration de castor3d::TextureLayout:

Fonctions membres publiques

C3D_API TextureLayout (RenderSystem &renderSystem, TextureType type, AccessTypes const &cpuAccess, AccessTypes const &gpuAccess)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &renderSystem, TextureType type, AccessTypes const &cpuAccess, AccessTypes const &gpuAccess, uint32_t mipmapCount)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &renderSystem, TextureType type, AccessTypes const &cpuAccess, AccessTypes const &gpuAccess, castor::PixelFormat format, castor::Size const &size)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &renderSystem, TextureType type, AccessTypes const &cpuAccess, AccessTypes const &gpuAccess, castor::PixelFormat format, castor::Point3ui const &size)
 Constructeur. Plus de détails...
 
virtual C3D_API ~TextureLayout ()
 Destructeur. Plus de détails...
 
C3D_API void bind (uint32_t index) const
 Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails...
 
C3D_API void unbind (uint32_t index) const
 Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails...
 
C3D_API void resize (castor::Size const &size)
 Redimensionne le buffer de la texture. Plus de détails...
 
C3D_API void resize (castor::Point3ui const &size)
 Redimensionne le buffer de la texture 3D. Plus de détails...
 
C3D_API uint8_t * lock (AccessTypes const &lock)
 Locke le buffer du layout à partir du GPU, permettant des modification dessus. Plus de détails...
 
C3D_API void unlock (bool modified)
 Délocke le buffer de l'image à partir du GPU. Plus de détails...
 
C3D_API uint8_t * lock (AccessTypes const &lock, uint32_t index)
 Locke le buffer de l'image à partir du GPU, permettant des modification dessus. Plus de détails...
 
C3D_API void unlock (bool modified, uint32_t index)
 Délocke le buffer de l'image à partir du GPU. Plus de détails...
 
C3D_API void setSource (castor::Path const &folder, castor::Path const &relative)
 Définit le tampon de la texture depuis un fichier image. Plus de détails...
 
C3D_API void setSource (castor::PxBufferBaseSPtr buffer)
 Initialise le tampon de la texture. Plus de détails...
 
C3D_API bool initialise ()
 Fonction d'initialisation. Plus de détails...
 
C3D_API void cleanup ()
 Fonction de nettoyage. Plus de détails...
 
virtual C3D_API void generateMipmaps () const =0
 Génère les mipmaps de la texture. Plus de détails...
 
bool isInitialised () const
 
TextureType getType () const
 
TextureImage const & getImage (size_t index=0) const
 
TextureImagegetImage (size_t index=0)
 
uint32_t getWidth () const
 Récupère la largeur de l'image de la texture. Plus de détails...
 
uint32_t getHeight () const
 
uint32_t getMipmapCount () const
 
castor::Size const & getDimensions () const
 
castor::PixelFormat getPixelFormat () const
 
uint32_t getDepth () const
 
uint32_t getLayersCount () const
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 

Attributs protégés

bool m_initialised { false }
 
TextureType m_type
 
TextureStorageUPtr m_storage
 
std::vector< TextureImageUPtr > m_images
 
AccessTypes m_cpuAccess
 
AccessTypes m_gpuAccess
 
castor::Size m_size
 
castor::PixelFormat m_format
 
uint32_t m_depth { 1 }
 
uint32_t m_mipmapCount { ~( 0u ) }
 

Amis

class TextureImage
 

Description détaillée

Class de base d'une texture.

Auteur
Sylvain DOREMUS
Date
14/02/2010

Documentation des constructeurs et destructeur

◆ TextureLayout() [1/4]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
TextureType  type,
AccessTypes const &  cpuAccess,
AccessTypes const &  gpuAccess 
)

Constructeur.

Paramètres
[in]typeLe type de texture.
[in]renderSystemLe render system.
[in]cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]gpuAccessLes accès requis pour le GPU (combinaison de AccessType).

◆ TextureLayout() [2/4]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
TextureType  type,
AccessTypes const &  cpuAccess,
AccessTypes const &  gpuAccess,
uint32_t  mipmapCount 
)

Constructeur.

Paramètres
[in]typeLe type de texture.
[in]renderSystemLe render system.
[in]cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]gpuAccessLes accès requis pour le GPU (combinaison de AccessType).
[in]mipmapCountLe nombre de mipmaps de la texture.

◆ TextureLayout() [3/4]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
TextureType  type,
AccessTypes const &  cpuAccess,
AccessTypes const &  gpuAccess,
castor::PixelFormat  format,
castor::Size const &  size 
)

Constructeur.

Paramètres
[in]typeLe type de texture.
[in]renderSystemLe render system.
[in]cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]gpuAccessLes accès requis pour le GPU (combinaison de AccessType).
[in]formatLe format de la texture.
[in]sizeLes dimensions de la texture.

◆ TextureLayout() [4/4]

C3D_API castor3d::TextureLayout::TextureLayout ( RenderSystem renderSystem,
TextureType  type,
AccessTypes const &  cpuAccess,
AccessTypes const &  gpuAccess,
castor::PixelFormat  format,
castor::Point3ui const &  size 
)

Constructeur.

Paramètres
[in]typeLe type de texture.
[in]renderSystemLe render system.
[in]cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]gpuAccessLes accès requis pour le GPU (combinaison de AccessType).
[in]formatLe format de la texture.
[in]sizeLes dimensions de la texture.

◆ ~TextureLayout()

virtual C3D_API castor3d::TextureLayout::~TextureLayout ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ begin() [1/2]

auto castor3d::TextureLayout::begin ( )
inline
Renvoie
Un itérateur sur le début des images.

Références m_images.

◆ begin() [2/2]

auto castor3d::TextureLayout::begin ( ) const
inline
Renvoie
Un itérateur sur le début des images.

Références m_images.

◆ bind()

C3D_API void castor3d::TextureLayout::bind ( uint32_t  index) const

Fonction d'activation, pour dire au GPU qu'il est activé

Paramètres
[in]indexL'index de texture

◆ cleanup()

C3D_API void castor3d::TextureLayout::cleanup ( )

Fonction de nettoyage.

◆ end() [1/2]

auto castor3d::TextureLayout::end ( )
inline
Renvoie
Un itérateur sur la fin des images.

Références m_images.

◆ end() [2/2]

auto castor3d::TextureLayout::end ( ) const
inline
Renvoie
Un itérateur sur la fin des images.

Références C3D_API, et m_images.

◆ generateMipmaps()

virtual C3D_API void castor3d::TextureLayout::generateMipmaps ( ) const
pure virtual

Génère les mipmaps de la texture.

◆ getDepth()

uint32_t castor3d::TextureLayout::getDepth ( ) const
inline
Renvoie
La profondeur de la texture, 1 si pas 3D.

Références castor3d::eThreeDimensions, m_depth, et m_type.

◆ getDimensions()

castor::Size const& castor3d::TextureLayout::getDimensions ( ) const
inline
Renvoie
Les dimensions de l'image de la texture.

Références m_size.

◆ getHeight()

uint32_t castor3d::TextureLayout::getHeight ( ) const
inline
Renvoie
La hauteur de l'image de la texture.

Références m_size.

◆ getImage() [1/2]

TextureImage const& castor3d::TextureLayout::getImage ( size_t  index = 0) const
inline
Paramètres
[in]indexL'index de l'image.
Renvoie
L'image de la texture.

Références m_images.

◆ getImage() [2/2]

TextureImage& castor3d::TextureLayout::getImage ( size_t  index = 0)
inline
Paramètres
[in]indexL'index de l'image.
Renvoie
L'image de la texture.

Références m_images.

◆ getLayersCount()

uint32_t castor3d::TextureLayout::getLayersCount ( ) const
inline
Renvoie
Le nombre de couches de la texture, 1 si pas tableau.

Références castor3d::eCubeArray, castor3d::eOneDimensionArray, castor3d::eTwoDimensionsArray, m_depth, et m_type.

◆ getMipmapCount()

uint32_t castor3d::TextureLayout::getMipmapCount ( ) const
inline
Renvoie
Le nombre de mipmaps.

Références m_mipmapCount.

◆ getPixelFormat()

castor::PixelFormat castor3d::TextureLayout::getPixelFormat ( ) const
inline
Renvoie
Le format des pixels de la texture.

Références m_format.

◆ getType()

TextureType castor3d::TextureLayout::getType ( ) const
inline
Renvoie
Le type de texture.

Références m_type.

◆ getWidth()

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

Récupère la largeur de l'image de la texture.

Renvoie
La largeur

Références m_size.

◆ initialise()

C3D_API bool castor3d::TextureLayout::initialise ( )

Fonction d'initialisation.

Renvoie
true si tout s'est bien passé.

◆ isInitialised()

bool castor3d::TextureLayout::isInitialised ( ) const
inline
Renvoie
Le statut d'initialisation.

Références m_initialised.

◆ lock() [1/2]

C3D_API uint8_t* castor3d::TextureLayout::lock ( AccessTypes const &  lock)

Locke le buffer du layout à partir du GPU, permettant des modification dessus.

Remarques
Active la texture.
Paramètres
[in]lockDéfinit le mode de lock (lecture, écriture, les 2), combinaison de AccessType.
Renvoie
Le buffer de l'image.

◆ lock() [2/2]

C3D_API uint8_t* castor3d::TextureLayout::lock ( AccessTypes const &  lock,
uint32_t  index 
)

Locke le buffer de l'image à partir du GPU, permettant des modification dessus.

Remarques
La texture doit être activée.
Paramètres
[in]lockDéfinit le mode de lock (lecture, écriture, les 2), combinaison de AccessType.
[in]indexL'index de l'image.
Renvoie
Le buffer de l'image.

◆ resize() [1/2]

C3D_API void castor3d::TextureLayout::resize ( castor::Size const &  size)

Redimensionne le buffer de la texture.

Paramètres
[in]sizeLa nouvelle taille

◆ resize() [2/2]

C3D_API void castor3d::TextureLayout::resize ( castor::Point3ui const &  size)

Redimensionne le buffer de la texture 3D.

Paramètres
[in]sizeLa nouvelle taille

◆ setSource() [1/2]

C3D_API void castor3d::TextureLayout::setSource ( castor::Path const &  folder,
castor::Path const &  relative 
)

Définit le tampon de la texture depuis un fichier image.

Paramètres
[in]folderLe dossier contenant l'image.
[in]relativeLe chemin d'accès à l'image, relatif à folder.

◆ setSource() [2/2]

C3D_API void castor3d::TextureLayout::setSource ( castor::PxBufferBaseSPtr  buffer)

Initialise le tampon de la texture.

Paramètres
[in]bufferLe tampon.

◆ unbind()

C3D_API void castor3d::TextureLayout::unbind ( uint32_t  index) const

Fonction de désactivation, pour dire au GPU qu'il est désactivé

Paramètres
[in]indexL'index de texture

◆ unlock() [1/2]

C3D_API void castor3d::TextureLayout::unlock ( bool  modified)

Délocke le buffer de l'image à partir du GPU.

Remarques
Désactive la texture.
Paramètres
[in]modifiedDit si le buffer a été modifié, afin que les modifications soient mises sur le GPU.

◆ unlock() [2/2]

C3D_API void castor3d::TextureLayout::unlock ( bool  modified,
uint32_t  index 
)

Délocke le buffer de l'image à partir du GPU.

Remarques
La texture doit être activée.
Paramètres
[in]modifiedDit si le buffer a été modifié, afin que les modifications soient mises sur le GPU.
[in]indexL'index de l'image.

Documentation des fonctions amies et associées

◆ TextureImage

friend class TextureImage
friend

Documentation des données membres

◆ m_cpuAccess

AccessTypes castor3d::TextureLayout::m_cpuAccess
protected

Les accès requis pour le CPU (combinaison de AccessType).

◆ m_depth

uint32_t castor3d::TextureLayout::m_depth { 1 }
protected

La profondeur ou nombre de couches de la texture.

Référencé par getDepth(), et getLayersCount().

◆ m_format

castor::PixelFormat castor3d::TextureLayout::m_format
protected

Le format des pixels de la texture.

Référencé par getPixelFormat().

◆ m_gpuAccess

AccessTypes castor3d::TextureLayout::m_gpuAccess
protected

Les accès requis pour le GPU (combinaison de AccessType).

◆ m_images

std::vector< TextureImageUPtr > castor3d::TextureLayout::m_images
protected

Les images de la texture.

Référencé par begin(), end(), et getImage().

◆ m_initialised

bool castor3d::TextureLayout::m_initialised { false }
protected

Statut d'initialisation

Référencé par isInitialised().

◆ m_mipmapCount

uint32_t castor3d::TextureLayout::m_mipmapCount { ~( 0u ) }
protected

Le nombre de mipmaps de la texture.

Référencé par getMipmapCount().

◆ m_size

castor::Size castor3d::TextureLayout::m_size
protected

Les dimensions de la texture.

Référencé par getDimensions(), getHeight(), et getWidth().

◆ m_storage

TextureStorageUPtr castor3d::TextureLayout::m_storage
protected

Le stockage GPU de la texture.

◆ m_type

TextureType castor3d::TextureLayout::m_type
protected

Type de texture.

Référencé par getDepth(), getLayersCount(), et getType().


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