Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe castor::PxBuffer< PF >

Buffer de pixels avec le format de pixel en argument template. Plus de détails...

#include <PixelBuffer.hpp>

Graphe d'héritage de castor::PxBuffer< PF >:
Inheritance graph
[légende]
Graphe de collaboration de castor::PxBuffer< PF >:
Collaboration graph
[légende]

Types publics

using MyPixel = Pixel< PF >
 
using iterator = PixelIterator< PF >
 
using const_iterator = ConstPixelIterator< PF >
 
- Types publics hérités de castor::PxBufferBase
using PxArray = Vector< uint8_t >
 
using PixelData = PxArray::iterator
 
using ConstPixelData = PxArray::const_iterator
 

Fonctions membres publiques

 PxBuffer (Size const &size, uint32_t layers, uint32_t levels, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM)
 Constructeur.
 
 PxBuffer (Size const &size, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM)
 Constructeur.
 
MyPixel at (uint32_t x, uint32_t y) const
 
iterator pixelsBegin () const noexcept
 
iterator pixelsEnd () const noexcept
 
- Fonctions membres publiques hérités de castor::PxBufferBase
CU_API PxBufferBase (PxBufferConvertOptions const *options, std::atomic_bool const *interrupt, Size const &size, PixelFormat pixelFormat, uint32_t layers=1u, uint32_t levels=1u, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer depuis une source, données initialisées si aucune source n'est donnée.
 
CU_API PxBufferBase (Size const &size, PixelFormat pixelFormat, uint32_t layers=1u, uint32_t levels=1u, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer depuis une source, données initialisées si aucune source n'est donnée.
 
CU_API PxBufferBase (PxBufferBase const &pixelBuffer)
 Constructeur par copie.
 
CU_API PxBufferBase (PxBufferBase &&pixelBuffer) noexcept
 Constructeur par déplacement.
 
CU_API ~PxBufferBase () noexcept=default
 Destructeur.
 
CU_API PxBufferBaseoperator= (PxBufferBase const &pixelBuffer)
 Opérateur d'affectation par copie.
 
CU_API PxBufferBaseoperator= (PxBufferBase &&pixelBuffer) noexcept
 Opérateur d'affectation par déplacement.
 
CU_API void clear ()
 Deletes the data buffer.
 
CU_API void initialise (PxBufferConvertOptions const *options, std::atomic_bool const *interrupt, uint8_t const *buffer, PixelFormat bufferFormat, uint32_t bufferAlign=0u)
 Initialise le buffer de données à celui donné.
 
void initialise (uint8_t const *buffer, PixelFormat bufferFormat, uint32_t bufferAlign=0u)
 Initialise le buffer de données à celui donné
 
CU_API void initialise (Size const &size)
 Initialise le buffer de données à la taille donnée.
 
CU_API void flip ()
 Effectue un échange vertical des pixels.
 
CU_API void swap (PxBufferBase &pixelBuffer) noexcept
 Echange les données de ce buffer avec celles du buffer donné
 
CU_API void update (uint32_t layers, uint32_t levels)
 Met ç jour le conteneur du buffer, avec les nombres de layers et de miplevels donnés.
 
CU_API void generateMips ()
 Génère les mipmaps.
 
CU_API uint32_t convertToTiles (uint32_t maxSize)
 Convvertit en tile map (aucun effet si m_layers <= 1).
 
PxBufferBaseUPtr clone () const
 
CU_API PixelData getAt (uint32_t x, uint32_t y, uint32_t index=0u, uint32_t level=0u)
 
CU_API ConstPixelData getAt (uint32_t x, uint32_t y, uint32_t index=0u, uint32_t level=0u) const
 
uint64_t getSize () const noexcept
 
uint8_t const * begin () const noexcept
 
uint8_t const * end () const noexcept
 
uint8_t const * cbegin () const noexcept
 
uint8_t const * cend () const noexcept
 
uint8_t const * getConstPtr () const noexcept
 
uint8_t * getPtr () noexcept
 
bool isFlipped () const noexcept
 
PixelFormat getFormat () const noexcept
 
uint32_t getWidth () const noexcept
 
uint32_t getHeight () const noexcept
 
Point3ui getTiles () const noexcept
 
Size getTileSize () const noexcept
 
uint32_t getTileWidth () const noexcept
 
uint32_t getTileHeight () const noexcept
 
uint32_t getLayers () const noexcept
 
uint32_t getLevels () const noexcept
 
uint32_t getAlign () const noexcept
 
Size const & getDimensions () const noexcept
 
uint32_t getCount () const noexcept
 
PixelData getAt (Position const &position)
 
ConstPixelData getAt (Position const &position) const
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de castor::PxBufferBase
static CU_API PxBufferBaseUPtr create (PxBufferConvertOptions const *options, std::atomic_bool const *interrupt, Size const &size, uint32_t layers, uint32_t levels, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
static CU_API PxBufferBaseUPtr create (PxBufferConvertOptions const *options, Size const &size, uint32_t layers, uint32_t levels, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
static CU_API PxBufferBaseUPtr create (Size const &size, uint32_t layers, uint32_t levels, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
static CU_API PxBufferBaseUPtr create (PxBufferConvertOptions const *options, std::atomic_bool const *interrupt, Size const &size, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
static CU_API PxBufferBaseUPtr create (PxBufferConvertOptions const *options, Size const &size, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
static CU_API PxBufferBaseUPtr create (Size const &size, PixelFormat wantedFormat, uint8_t const *buffer=nullptr, PixelFormat bufferFormat=PixelFormat::eR8G8B8A8_UNORM, uint32_t bufferAlign=0u)
 Crée un buffer avec les données voulues.
 
- Fonctions membres protégées hérités de castor::PxBufferBase
uint32_t doConvert (uint32_t x, uint32_t y) const
 
- Attributs protégés hérités de castor::PxBufferBase
Size m_size
 
uint32_t m_layers
 
uint32_t m_levels
 
uint32_t m_align
 
Point3ui m_tiles { 1u, 1u, 1u }
 
PxArray m_buffer
 

Description détaillée

template<PixelFormat PF>
class castor::PxBuffer< PF >

Buffer de pixels avec le format de pixel en argument template.

Documentation des définitions de type membres

◆ const_iterator

template<PixelFormat PF>
using castor::PxBuffer< PF >::const_iterator = ConstPixelIterator< PF >

◆ iterator

template<PixelFormat PF>
using castor::PxBuffer< PF >::iterator = PixelIterator< PF >

◆ MyPixel

template<PixelFormat PF>
using castor::PxBuffer< PF >::MyPixel = Pixel< PF >

Documentation des constructeurs et destructeur

◆ PxBuffer() [1/2]

template<PixelFormat PF>
castor::PxBuffer< PF >::PxBuffer ( Size const & size,
uint32_t layers,
uint32_t levels,
uint8_t const * buffer = nullptr,
PixelFormat bufferFormat = PixelFormat::eR8G8B8A8_UNORM )

Constructeur.

Paramètres
[in]sizeLes dimensions voulues pour le buffer
[in]layersCouches du buffer (layers ou slices)
[in]levelsNiveaux de mip du buffer
[in]bufferBuffer de données
[in]bufferFormatFormat des pixels du buffer de données

◆ PxBuffer() [2/2]

template<PixelFormat PF>
castor::PxBuffer< PF >::PxBuffer ( Size const & size,
uint8_t const * buffer = nullptr,
PixelFormat bufferFormat = PixelFormat::eR8G8B8A8_UNORM )
inlineexplicit

Constructeur.

Paramètres
[in]sizeLes dimensions voulues pour le buffer
[in]bufferBuffer de données
[in]bufferFormatFormat des pixels du buffer de données

Documentation des fonctions membres

◆ at()

template<PixelFormat PF>
MyPixel castor::PxBuffer< PF >::at ( uint32_t x,
uint32_t y ) const

name Accesseurs.

◆ pixelsBegin()

template<PixelFormat PF>
iterator castor::PxBuffer< PF >::pixelsBegin ( ) const
inlinenoexcept

◆ pixelsEnd()

template<PixelFormat PF>
iterator castor::PxBuffer< PF >::pixelsEnd ( ) const
inlinenoexcept

La documentation de cette classe a été générée à partir des fichiers suivants :