Castor3D
..
|
Class de base d'une texture. Plus de détails...
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 |
TextureImage & | GetImage (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 |
Class de base d'une texture.
C3D_API Castor3D::TextureLayout::TextureLayout | ( | RenderSystem & | p_renderSystem, |
TextureType | p_type, | ||
AccessTypes const & | p_cpuAccess, | ||
AccessTypes const & | p_gpuAccess | ||
) |
Constructeur.
[in] | p_type | Le type de texture. |
[in] | p_renderSystem | Le render system. |
[in] | p_cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | p_gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
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.
[in] | p_type | Le type de texture. |
[in] | p_renderSystem | Le render system. |
[in] | p_cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | p_gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
[in] | p_format | Le format de la texture. |
[in] | p_size | Les dimensions de la texture. |
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.
[in] | p_type | Le type de texture. |
[in] | p_renderSystem | Le render system. |
[in] | p_cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | p_gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
[in] | p_format | Le format de la texture. |
[in] | p_size | Les dimensions de la texture. |
|
virtual |
Destructeur.
|
inline |
Références m_images.
|
inline |
Références m_images.
C3D_API void Castor3D::TextureLayout::Bind | ( | uint32_t | p_index | ) | const |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | p_index | L'index de texture |
C3D_API void Castor3D::TextureLayout::Cleanup | ( | ) |
Fonction de nettoyage.
|
inline |
Références m_images.
|
inline |
|
pure virtual |
Génère les mipmaps de la texture.
|
inline |
Récupère la profondeur de la texture.
Références Castor3D::eThreeDimensions, m_depth, et m_type.
Référencé par GetHeight().
|
inline |
Récupère les dimensions de l'image de la texture.
Références GetHeight(), et GetWidth().
|
inline |
Récupère la hauteur de l'image de la texture.
Références GetDepth(), et m_size.
Référencé par GetDimensions().
|
inline |
|
inline |
|
inline |
Récupère la profondeur de la texture.
Références Castor3D::eCubeArray, Castor3D::eOneDimensionArray, Castor3D::eTwoDimensionsArray, m_depth, et m_type.
|
inline |
|
inline |
|
inline |
Récupère la largeur de l'image de la texture.
Références m_size.
Référencé par GetDimensions().
C3D_API bool Castor3D::TextureLayout::Initialise | ( | ) |
Fonction d'initialisation.
true
si tout s'est bien passé.
|
inline |
C3D_API uint8_t* Castor3D::TextureLayout::Lock | ( | AccessTypes const & | p_lock | ) |
Locke le buffer du layout à partir du GPU, permettant des modification dessus.
[in] | p_lock | Définit le mode de lock (lecture, écriture, les 2), combinaison de AccessType. |
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.
[in] | p_lock | Définit le mode de lock (lecture, écriture, les 2), combinaison de AccessType. |
[in] | p_index | L'index de l'image. |
C3D_API void Castor3D::TextureLayout::Resize | ( | Castor::Size const & | p_size | ) |
Redimensionne le buffer de la texture.
[in] | p_size | La nouvelle taille |
C3D_API void Castor3D::TextureLayout::Resize | ( | Castor::Point3ui const & | p_size | ) |
Redimensionne le buffer de la texture 3D.
[in] | p_size | La nouvelle taille |
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.
[in] | p_folder | Le dossier contenant l'image. |
[in] | p_relative | Le chemin d'accès à l'image, relatif à p_folder. |
C3D_API void Castor3D::TextureLayout::SetSource | ( | Castor::PxBufferBaseSPtr | p_buffer | ) |
Initialise le tampon de la texture.
[in] | p_buffer | Le tampon. |
C3D_API void Castor3D::TextureLayout::Unbind | ( | uint32_t | p_index | ) | const |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
[in] | p_index | L'index de texture |
C3D_API void Castor3D::TextureLayout::Unlock | ( | bool | p_modified | ) |
Délocke le buffer de l'image à partir du GPU.
[in] | p_modified | Dit si le buffer a été modifié, afin que les modifications soient mises sur le GPU. |
C3D_API void Castor3D::TextureLayout::Unlock | ( | bool | p_modified, |
uint32_t | p_index | ||
) |
Délocke le buffer de l'image à partir du GPU.
[in] | p_modified | Dit si le buffer a été modifié, afin que les modifications soient mises sur le GPU. |
[in] | p_index | L'index de l'image. |
|
friend |
|
protected |
Les accès requis pour le CPU (combinaison de AccessType).
|
protected |
La profondeur ou nombre de couches de la texture.
Référencé par GetDepth(), et GetLayersCount().
|
protected |
Le format des pixels de la texture.
Référencé par GetPixelFormat().
|
protected |
Les accès requis pour le GPU (combinaison de AccessType).
|
protected |
Les images de la texture.
Référencé par begin(), end(), et GetImage().
|
protected |
Statut d'initialisation
Référencé par IsInitialised().
|
protected |
Les dimensions de la texture.
Référencé par GetHeight(), et GetWidth().
|
protected |
Le stockage GPU de la texture.
|
protected |
Type de texture.
Référencé par GetDepth(), GetLayersCount(), et GetType().