Castor3D
..
|
Class de base d'une texture. Plus de détails...
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 |
TextureImage & | getImage (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 |
Class de base d'une texture.
C3D_API castor3d::TextureLayout::TextureLayout | ( | RenderSystem & | renderSystem, |
TextureType | type, | ||
AccessTypes const & | cpuAccess, | ||
AccessTypes const & | gpuAccess | ||
) |
Constructeur.
[in] | type | Le type de texture. |
[in] | renderSystem | Le render system. |
[in] | cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
C3D_API castor3d::TextureLayout::TextureLayout | ( | RenderSystem & | renderSystem, |
TextureType | type, | ||
AccessTypes const & | cpuAccess, | ||
AccessTypes const & | gpuAccess, | ||
uint32_t | mipmapCount | ||
) |
Constructeur.
[in] | type | Le type de texture. |
[in] | renderSystem | Le render system. |
[in] | cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
[in] | mipmapCount | Le nombre de mipmaps de la texture. |
C3D_API castor3d::TextureLayout::TextureLayout | ( | RenderSystem & | renderSystem, |
TextureType | type, | ||
AccessTypes const & | cpuAccess, | ||
AccessTypes const & | gpuAccess, | ||
castor::PixelFormat | format, | ||
castor::Size const & | size | ||
) |
Constructeur.
[in] | type | Le type de texture. |
[in] | renderSystem | Le render system. |
[in] | cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
[in] | format | Le format de la texture. |
[in] | size | Les dimensions de la texture. |
C3D_API castor3d::TextureLayout::TextureLayout | ( | RenderSystem & | renderSystem, |
TextureType | type, | ||
AccessTypes const & | cpuAccess, | ||
AccessTypes const & | gpuAccess, | ||
castor::PixelFormat | format, | ||
castor::Point3ui const & | size | ||
) |
Constructeur.
[in] | type | Le type de texture. |
[in] | renderSystem | Le render system. |
[in] | cpuAccess | Les accès requis pour le CPU (combinaison de AccessType). |
[in] | gpuAccess | Les accès requis pour le GPU (combinaison de AccessType). |
[in] | format | Le format de la texture. |
[in] | 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 | index | ) | const |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | 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éférences castor3d::eThreeDimensions, m_depth, et m_type.
|
inline |
Références m_size.
|
inline |
Références m_size.
|
inline |
|
inline |
|
inline |
Références castor3d::eCubeArray, castor3d::eOneDimensionArray, castor3d::eTwoDimensionsArray, m_depth, et m_type.
|
inline |
Références m_mipmapCount.
|
inline |
Références m_format.
|
inline |
Références m_type.
|
inline |
C3D_API bool castor3d::TextureLayout::initialise | ( | ) |
Fonction d'initialisation.
true
si tout s'est bien passé.
|
inline |
Références m_initialised.
C3D_API uint8_t* castor3d::TextureLayout::lock | ( | AccessTypes const & | lock | ) |
Locke le buffer du layout à partir du GPU, permettant des modification dessus.
[in] | lock | Définit le mode de lock (lecture, écriture, les 2), combinaison de AccessType. |
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.
[in] | lock | Définit le mode de lock (lecture, écriture, les 2), combinaison de AccessType. |
[in] | index | L'index de l'image. |
C3D_API void castor3d::TextureLayout::resize | ( | castor::Size const & | size | ) |
Redimensionne le buffer de la texture.
[in] | size | La nouvelle taille |
C3D_API void castor3d::TextureLayout::resize | ( | castor::Point3ui const & | size | ) |
Redimensionne le buffer de la texture 3D.
[in] | size | La nouvelle taille |
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.
[in] | folder | Le dossier contenant l'image. |
[in] | relative | Le chemin d'accès à l'image, relatif à folder. |
C3D_API void castor3d::TextureLayout::setSource | ( | castor::PxBufferBaseSPtr | buffer | ) |
Initialise le tampon de la texture.
[in] | buffer | Le tampon. |
C3D_API void castor3d::TextureLayout::unbind | ( | uint32_t | index | ) | const |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
[in] | index | L'index de texture |
C3D_API void castor3d::TextureLayout::unlock | ( | bool | modified | ) |
Délocke le buffer de l'image à partir du GPU.
[in] | modified | Dit si le buffer a été modifié, afin que les modifications soient mises sur le GPU. |
C3D_API void castor3d::TextureLayout::unlock | ( | bool | modified, |
uint32_t | index | ||
) |
Délocke le buffer de l'image à partir du GPU.
[in] | modified | Dit si le buffer a été modifié, afin que les modifications soient mises sur le GPU. |
[in] | 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 |
Le nombre de mipmaps de la texture.
Référencé par getMipmapCount().
|
protected |
Les dimensions de la texture.
Référencé par getDimensions(), getHeight(), et getWidth().
|
protected |
Le stockage GPU de la texture.
|
protected |
Type de texture.
Référencé par getDepth(), getLayersCount(), et getType().