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 &p_renderSystem, TextureType p_type, AccessTypes const &p_cpuAccess, AccessTypes const &p_gpuAccess)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &p_renderSystem, TextureType p_type, AccessTypes const &p_cpuAccess, AccessTypes const &p_gpuAccess, Castor::PixelFormat p_format, Castor::Size const &p_size)
 Constructeur. Plus de détails...
 
C3D_API TextureLayout (RenderSystem &p_renderSystem, TextureType p_type, AccessTypes const &p_cpuAccess, AccessTypes const &p_gpuAccess, Castor::PixelFormat p_format, Castor::Point3ui const &p_size)
 Constructeur. Plus de détails...
 
virtual C3D_API ~TextureLayout ()
 Destructeur. Plus de détails...
 
C3D_API void Bind (uint32_t p_index) const
 Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails...
 
C3D_API void Unbind (uint32_t p_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 &p_size)
 Redimensionne le buffer de la texture. Plus de détails...
 
C3D_API void Resize (Castor::Point3ui const &p_size)
 Redimensionne le buffer de la texture 3D. Plus de détails...
 
C3D_API uint8_t * Lock (AccessTypes const &p_lock)
 Locke le buffer du layout à partir du GPU, permettant des modification dessus. Plus de détails...
 
C3D_API void Unlock (bool p_modified)
 Délocke le buffer de l'image à partir du GPU. Plus de détails...
 
C3D_API uint8_t * Lock (AccessTypes const &p_lock, uint32_t p_index)
 Locke le buffer de l'image à partir du GPU, permettant des modification dessus. Plus de détails...
 
C3D_API void Unlock (bool p_modified, uint32_t p_index)
 Délocke le buffer de l'image à partir du GPU. Plus de détails...
 
C3D_API void SetSource (Castor::Path const &p_folder, Castor::Path const &p_relative)
 Définit le tampon de la texture depuis un fichier image. Plus de détails...
 
C3D_API void SetSource (Castor::PxBufferBaseSPtr p_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
 Récupère le statut d'initialisation. Plus de détails...
 
TextureType GetType () const
 Récupère la dimension de la texture. Plus de détails...
 
TextureImage const & GetImage (size_t p_index=0) const
 
TextureImageGetImage (size_t p_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
 Récupère la hauteur de l'image de la texture. Plus de détails...
 
Castor::Size GetDimensions () const
 Récupère les dimensions de l'image de la texture. Plus de détails...
 
Castor::PixelFormat GetPixelFormat () const
 Récupère le format des pixels de la texture. Plus de détails...
 
uint32_t GetDepth () const
 Récupère la profondeur de la texture. Plus de détails...
 
uint32_t GetLayersCount () const
 Récupère la profondeur de la texture. Plus de détails...
 
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
 

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/3]

C3D_API Castor3D::TextureLayout::TextureLayout ( RenderSystem p_renderSystem,
TextureType  p_type,
AccessTypes const &  p_cpuAccess,
AccessTypes const &  p_gpuAccess 
)

Constructeur.

Paramètres
[in]p_typeLe type de texture.
[in]p_renderSystemLe render system.
[in]p_cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]p_gpuAccessLes accès requis pour le GPU (combinaison de AccessType).

◆ TextureLayout() [2/3]

C3D_API Castor3D::TextureLayout::TextureLayout ( RenderSystem p_renderSystem,
TextureType  p_type,
AccessTypes const &  p_cpuAccess,
AccessTypes const &  p_gpuAccess,
Castor::PixelFormat  p_format,
Castor::Size const &  p_size 
)

Constructeur.

Paramètres
[in]p_typeLe type de texture.
[in]p_renderSystemLe render system.
[in]p_cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]p_gpuAccessLes accès requis pour le GPU (combinaison de AccessType).
[in]p_formatLe format de la texture.
[in]p_sizeLes dimensions de la texture.

◆ TextureLayout() [3/3]

C3D_API Castor3D::TextureLayout::TextureLayout ( RenderSystem p_renderSystem,
TextureType  p_type,
AccessTypes const &  p_cpuAccess,
AccessTypes const &  p_gpuAccess,
Castor::PixelFormat  p_format,
Castor::Point3ui const &  p_size 
)

Constructeur.

Paramètres
[in]p_typeLe type de texture.
[in]p_renderSystemLe render system.
[in]p_cpuAccessLes accès requis pour le CPU (combinaison de AccessType).
[in]p_gpuAccessLes accès requis pour le GPU (combinaison de AccessType).
[in]p_formatLe format de la texture.
[in]p_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  p_index) const

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

Paramètres
[in]p_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

Récupère la profondeur de la texture.

Renvoie
La profondeur, 1 si pas 3D

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

Référencé par GetHeight().

+ Voici le graphe des appelants de cette fonction :

◆ GetDimensions()

Castor::Size Castor3D::TextureLayout::GetDimensions ( ) const
inline

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

Renvoie
Les dimensions de l'image

Références GetHeight(), et GetWidth().

+ Voici le graphe d'appel pour cette fonction :

◆ GetHeight()

uint32_t Castor3D::TextureLayout::GetHeight ( ) const
inline

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

Renvoie
La hauteur

Références GetDepth(), et m_size.

Référencé par GetDimensions().

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

◆ GetImage() [1/2]

TextureImage const& Castor3D::TextureLayout::GetImage ( size_t  p_index = 0) const
inline
Paramètres
[in]p_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  p_index = 0)
inline
Paramètres
[in]p_indexL'index de l'image.
Renvoie
L'image de la texture.

Références m_images.

◆ GetLayersCount()

uint32_t Castor3D::TextureLayout::GetLayersCount ( ) const
inline

Récupère la profondeur de la texture.

Renvoie
La profondeur, 1 si pas tableau

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

◆ GetPixelFormat()

Castor::PixelFormat Castor3D::TextureLayout::GetPixelFormat ( ) const
inline

Récupère le format des pixels de la texture.

Renvoie
Le format des pixels

Références m_format.

◆ GetType()

TextureType Castor3D::TextureLayout::GetType ( ) const
inline

Récupère la dimension de la texture.

Renvoie
La dimension de la 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.

Référencé par GetDimensions().

+ Voici le graphe des appelants de cette fonction :

◆ 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

Récupère le statut d'initialisation.

Renvoie
Le statut d'initialisation

Références m_initialised.

◆ Lock() [1/2]

C3D_API uint8_t* Castor3D::TextureLayout::Lock ( AccessTypes const &  p_lock)

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

Remarques
Active la texture.
Paramètres
[in]p_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 &  p_lock,
uint32_t  p_index 
)

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

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

◆ Resize() [1/2]

C3D_API void Castor3D::TextureLayout::Resize ( Castor::Size const &  p_size)

Redimensionne le buffer de la texture.

Paramètres
[in]p_sizeLa nouvelle taille

◆ Resize() [2/2]

C3D_API void Castor3D::TextureLayout::Resize ( Castor::Point3ui const &  p_size)

Redimensionne le buffer de la texture 3D.

Paramètres
[in]p_sizeLa nouvelle taille

◆ SetSource() [1/2]

C3D_API void Castor3D::TextureLayout::SetSource ( Castor::Path const &  p_folder,
Castor::Path const &  p_relative 
)

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

Paramètres
[in]p_folderLe dossier contenant l'image.
[in]p_relativeLe chemin d'accès à l'image, relatif à p_folder.

◆ SetSource() [2/2]

C3D_API void Castor3D::TextureLayout::SetSource ( Castor::PxBufferBaseSPtr  p_buffer)

Initialise le tampon de la texture.

Paramètres
[in]p_bufferLe tampon.

◆ Unbind()

C3D_API void Castor3D::TextureLayout::Unbind ( uint32_t  p_index) const

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

Paramètres
[in]p_indexL'index de texture

◆ Unlock() [1/2]

C3D_API void Castor3D::TextureLayout::Unlock ( bool  p_modified)

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

Remarques
Désactive la texture.
Paramètres
[in]p_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  p_modified,
uint32_t  p_index 
)

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

Remarques
La texture doit être activée.
Paramètres
[in]p_modifiedDit si le buffer a été modifié, afin que les modifications soient mises sur le GPU.
[in]p_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
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_size

Castor::Size Castor3D::TextureLayout::m_size
protected

Les dimensions de la texture.

Référencé par 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 :