Castor3D
..
|
Classe de tampon d'image. Plus de détails...
Fonctions membres publiques | |
DECLARE_VECTOR (FrameBufferAttachmentSPtr, Attach) | |
C3D_API | FrameBuffer (Engine &p_engine) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~FrameBuffer () |
Destructeur. Plus de détails... | |
C3D_API bool | Initialise (Castor::Size const &p_size) |
Initialise les tampons de cache de couleur de profondeur. Plus de détails... | |
C3D_API void | Cleanup () |
Nettoie les tampons de cache. Plus de détails... | |
C3D_API void | SetClearColour (Castor::Colour const &p_colour) |
Définit la couleur utilisée quand Clear est appelée sur le tampon couleur. Plus de détails... | |
C3D_API void | SetClearColour (float p_r, float p_g, float p_b, float p_a) |
Définit la couleur utilisée quand Clear est appelée sur le tampon couleur. Plus de détails... | |
C3D_API void | Clear (BufferComponents p_targets) |
Vide les tampons. Plus de détails... | |
C3D_API void | Bind (FrameBufferTarget p_target=FrameBufferTarget::eBoth) const |
Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails... | |
C3D_API void | Unbind () const |
Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails... | |
C3D_API void | BlitInto (FrameBuffer const &p_buffer, Castor::Rectangle const &p_rect, Castor::FlagCombination< BufferComponent > const &p_components) const |
Blitte ce tampon dans celui donné Plus de détails... | |
C3D_API void | StretchInto (FrameBuffer const &p_buffer, Castor::Rectangle const &p_rectSrc, Castor::Rectangle const &p_rectDst, Castor::FlagCombination< BufferComponent > const &p_components, InterpolationMode p_interpolation) const |
Stretche ce tampon dans celui donné. Plus de détails... | |
C3D_API void | SetDrawBuffers () const |
Définit les buffers dans lesquels le dessin doit être effectué Plus de détails... | |
C3D_API void | SetDrawBuffer (FrameBufferAttachmentSPtr p_attach) const |
Définit le tampon de dans lequel le dessin doit être effectué. Plus de détails... | |
C3D_API void | Attach (AttachmentPoint p_point, uint8_t p_index, TextureAttachmentSPtr p_texture, TextureType p_target, int p_layer=0) |
Attache une texture à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
C3D_API void | Attach (AttachmentPoint p_point, TextureAttachmentSPtr p_texture, TextureType p_target, int p_layer=0) |
Attache une texture à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
C3D_API void | Attach (AttachmentPoint p_point, uint8_t p_index, RenderBufferAttachmentSPtr p_renderBuffer) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
C3D_API void | Attach (AttachmentPoint p_point, RenderBufferAttachmentSPtr p_renderBuffer) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
C3D_API FrameBufferAttachmentSPtr | GetAttachment (AttachmentPoint p_point, uint8_t p_index) |
Récupère un tampon attaché au point et à l'index d'attache donnés. Plus de détails... | |
C3D_API void | DetachAll () |
Détache tous les objets attachés. Plus de détails... | |
C3D_API void | Resize (Castor::Size const &p_size) |
Redimensionne tous les tampons attachés. Plus de détails... | |
virtual C3D_API bool | Create ()=0 |
Fonction de création. Plus de détails... | |
virtual C3D_API void | Destroy ()=0 |
Fonction de destruction. Plus de détails... | |
virtual C3D_API void | SetDrawBuffers (AttachArray const &p_attaches) const =0 |
Utilise les attaches données pour ce framebuffer, lors du prochain dessin. Plus de détails... | |
virtual C3D_API void | SetReadBuffer (AttachmentPoint p_point, uint8_t p_index) const =0 |
Définit le tampon de couleur source pour la lecture de pixels. Plus de détails... | |
virtual C3D_API ColourRenderBufferSPtr | CreateColourRenderBuffer (Castor::PixelFormat p_format)=0 |
Crée un tampon de rendu couleur. Plus de détails... | |
virtual C3D_API DepthStencilRenderBufferSPtr | CreateDepthStencilRenderBuffer (Castor::PixelFormat p_format)=0 |
Crée un tampon de rendu profondeur/stencil. Plus de détails... | |
virtual C3D_API RenderBufferAttachmentSPtr | CreateAttachment (RenderBufferSPtr p_renderBuffer)=0 |
Crée une attache à un tampon de rendu. Plus de détails... | |
virtual C3D_API TextureAttachmentSPtr | CreateAttachment (TextureLayoutSPtr p_texture)=0 |
Crée une attache à une texture. Plus de détails... | |
virtual C3D_API TextureAttachmentSPtr | CreateAttachment (TextureLayoutSPtr p_texture, CubeMapFace p_face)=0 |
Crée une attache à une face d'une texture cube. Plus de détails... | |
virtual C3D_API bool | IsComplete () const =0 |
Vérifies i le FBO est complet. Plus de détails... | |
virtual C3D_API void | DownloadBuffer (Castor3D::AttachmentPoint p_point, uint8_t p_index, Castor::PxBufferBaseSPtr p_buffer)=0 |
Récupère les données du tampon de rendu. Plus de détails... | |
Fonctions membres protégées | |
C3D_API Castor::PixelFormat | DoGetPixelFormat (AttachmentPoint p_point, uint8_t p_index) |
virtual C3D_API void | DoClear (BufferComponents p_targets)=0 |
Vide les composantes de tampon données. Plus de détails... | |
virtual C3D_API void | DoBind (FrameBufferTarget p_target) const =0 |
Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails... | |
virtual C3D_API void | DoUnbind () const =0 |
Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails... | |
virtual C3D_API void | DoBlitInto (FrameBuffer const &p_buffer, Castor::Rectangle const &p_rect, Castor::FlagCombination< BufferComponent > const &p_components) const =0 |
Blitte ce tampon dans celui donné Plus de détails... | |
virtual C3D_API void | DoStretchInto (FrameBuffer const &p_buffer, Castor::Rectangle const &p_rectSrc, Castor::Rectangle const &p_rectDst, Castor::FlagCombination< BufferComponent > const &p_components, InterpolationMode p_interpolation) const =0 |
Blitte ce tampon dans celui donné. Plus de détails... | |
Attributs protégés | |
AttachArray | m_attaches |
float | m_redClear { 0.0f } |
float | m_greenClear { 0.0f } |
float | m_blueClear { 0.0f } |
float | m_alphaClear { 1.0f } |
Classe de tampon d'image.
Constructeur.
[in] | p_engine | Le moteur |
|
virtual |
Destructeur.
C3D_API void Castor3D::FrameBuffer::Attach | ( | AttachmentPoint | p_point, |
uint8_t | p_index, | ||
TextureAttachmentSPtr | p_texture, | ||
TextureType | p_target, | ||
int | p_layer = 0 |
||
) |
Attache une texture à ce tampon d'image, au point d'attache voulu.
[in] | p_point | Le point d'attache |
[in] | p_index | L'index d'attache |
[in] | p_texture | La texture |
[in] | p_target | La dimension à laquelle la texture doit être attachée |
[in] | p_layer | La couche associée, si p_dimension vaut TextureType::eThreeDimensions or TextureType::eTwoDimensionsArray |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::Attach | ( | AttachmentPoint | p_point, |
TextureAttachmentSPtr | p_texture, | ||
TextureType | p_target, | ||
int | p_layer = 0 |
||
) |
Attache une texture à ce tampon d'image, au point d'attache voulu.
[in] | p_point | Le point d'attache |
[in] | p_texture | La texture |
[in] | p_target | La dimension à laquelle la texture doit être attachée |
[in] | p_layer | La couche associée, si p_dimension vaut TextureType::eThreeDimensions or TextureType::eTwoDimensionsArray |
C3D_API void Castor3D::FrameBuffer::Attach | ( | AttachmentPoint | p_point, |
uint8_t | p_index, | ||
RenderBufferAttachmentSPtr | p_renderBuffer | ||
) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu.
[in] | p_point | Le point d'attache |
[in] | p_index | L'index d'attache |
[in] | p_renderBuffer | Le tampon de rendu |
C3D_API void Castor3D::FrameBuffer::Attach | ( | AttachmentPoint | p_point, |
RenderBufferAttachmentSPtr | p_renderBuffer | ||
) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu.
[in] | p_point | Le point d'attache |
[in] | p_renderBuffer | Le tampon de rendu |
C3D_API void Castor3D::FrameBuffer::Bind | ( | FrameBufferTarget | p_target = FrameBufferTarget::eBoth | ) | const |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | p_target | La cible d'activation du tampon d'image |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::BlitInto | ( | FrameBuffer const & | p_buffer, |
Castor::Rectangle const & | p_rect, | ||
Castor::FlagCombination< BufferComponent > const & | p_components | ||
) | const |
Blitte ce tampon dans celui donné
[in] | p_buffer | Le tampon recevant celui-ci |
[in] | p_rect | Le rectangle |
[in] | p_components | OU logique de BufferComponent indiquant les buffers à copier |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::Cleanup | ( | ) |
Nettoie les tampons de cache.
C3D_API void Castor3D::FrameBuffer::Clear | ( | BufferComponents | p_targets | ) |
Vide les tampons.
[in] | p_targets | Les tampons à vider (combinaison de BufferComponent). |
|
pure virtual |
Fonction de création.
true
si tout s'est bien passé Référencé par Castor3D::BackBuffers::IsComplete().
|
pure virtual |
Crée une attache à un tampon de rendu.
[in] | p_renderBuffer | Le tampon de rendu |
Implémenté dans Castor3D::BackBuffers.
|
pure virtual |
Crée une attache à une texture.
[in] | p_texture | La texture |
Implémenté dans Castor3D::BackBuffers.
|
pure virtual |
Crée une attache à une face d'une texture cube.
[in] | p_texture | La texture. |
[in] | p_face | La face. |
Implémenté dans Castor3D::BackBuffers.
|
pure virtual |
Crée un tampon de rendu couleur.
[in] | p_format | Le fromat de pixels du tampon |
Référencé par Castor3D::BackBuffers::IsComplete().
|
pure virtual |
Crée un tampon de rendu profondeur/stencil.
[in] | p_format | Le fromat de pixels du tampon |
Référencé par Castor3D::BackBuffers::IsComplete().
Castor3D::FrameBuffer::DECLARE_VECTOR | ( | FrameBufferAttachmentSPtr | , |
Attach | |||
) |
|
pure virtual |
Fonction de destruction.
C3D_API void Castor3D::FrameBuffer::DetachAll | ( | ) |
Détache tous les objets attachés.
Référencé par Castor3D::BackBuffers::IsComplete().
|
protectedpure virtual |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | p_target | La cible d'activation du tampon d'image |
|
protectedpure virtual |
Blitte ce tampon dans celui donné
[in] | p_buffer | Le tampon recevant celui-ci |
[in] | p_rect | Le rectangle destination |
[in] | p_components | OU logique de BufferComponent indiquant les buffers à copier |
|
protectedpure virtual |
Vide les composantes de tampon données.
[in] | p_targets | Les composantes, combinaison de BufferComponent. |
|
protected |
[in] | p_point | Le point d'attache. |
[in] | p_index | L'index d'attache. |
|
protectedpure virtual |
Blitte ce tampon dans celui donné.
[in] | p_buffer | Le tampon recevant celui-ci. |
[in] | p_rectSrc | Le rectangle source. |
[in] | p_rectDst | Le rectangle destination. |
[in] | p_components | OU logique de BufferComponent indiquant les buffers à copier. |
[in] | p_interpolation | L'interpolation à appliquer si l'image est redimensionnée. |
|
protectedpure virtual |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
|
pure virtual |
Récupère les données du tampon de rendu.
[in] | p_point | Le point d'attache. |
[in] | p_index | L'index d'attache. |
[in] | p_buffer | Reçoit les données. |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API FrameBufferAttachmentSPtr Castor3D::FrameBuffer::GetAttachment | ( | AttachmentPoint | p_point, |
uint8_t | p_index | ||
) |
Récupère un tampon attaché au point et à l'index d'attache donnés.
[in] | p_point | Le point d'attache. |
[in] | p_index | L'index d'attache. |
nullptr
si non trouvé. C3D_API bool Castor3D::FrameBuffer::Initialise | ( | Castor::Size const & | p_size | ) |
Initialise les tampons de cache de couleur de profondeur.
[in] | p_size | La taille du tampon d'image. |
true
si tout s'est bien passé. Référencé par Castor3D::BackBuffers::IsComplete().
|
pure virtual |
Vérifies i le FBO est complet.
false
si le tampon est en erreur ou s'il manque une attache. Implémenté dans Castor3D::BackBuffers.
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::Resize | ( | Castor::Size const & | p_size | ) |
Redimensionne tous les tampons attachés.
[in] | p_size | Les nouvelles dimensions |
C3D_API void Castor3D::FrameBuffer::SetClearColour | ( | Castor::Colour const & | p_colour | ) |
Définit la couleur utilisée quand Clear est appelée sur le tampon couleur.
[in] | p_colour | La couleur. |
C3D_API void Castor3D::FrameBuffer::SetClearColour | ( | float | p_r, |
float | p_g, | ||
float | p_b, | ||
float | p_a | ||
) |
Définit la couleur utilisée quand Clear est appelée sur le tampon couleur.
[in] | p_r,p_g,p_b,p_a | Les composantes de la couleur. |
C3D_API void Castor3D::FrameBuffer::SetDrawBuffer | ( | FrameBufferAttachmentSPtr | p_attach | ) | const |
Définit le tampon de dans lequel le dessin doit être effectué.
[in] | p_attach | Le tampon. |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::SetDrawBuffers | ( | ) | const |
Définit les buffers dans lesquels le dessin doit être effectué
Référencé par Castor3D::BackBuffers::IsComplete().
|
pure virtual |
Utilise les attaches données pour ce framebuffer, lors du prochain dessin.
[in] | p_attaches | Les attaches. |
|
pure virtual |
Définit le tampon de couleur source pour la lecture de pixels.
[in] | p_point | Le tampon de couleur |
[in] | p_index | L'index d'attache |
Référencé par Castor3D::BackBuffers::IsComplete().
C3D_API void Castor3D::FrameBuffer::StretchInto | ( | FrameBuffer const & | p_buffer, |
Castor::Rectangle const & | p_rectSrc, | ||
Castor::Rectangle const & | p_rectDst, | ||
Castor::FlagCombination< BufferComponent > const & | p_components, | ||
InterpolationMode | p_interpolation | ||
) | const |
Stretche ce tampon dans celui donné.
[in] | p_buffer | Le tampon recevant celui-ci. |
[in] | p_rectSrc | Le rectangle source. |
[in] | p_rectDst | Le rectangle destination. |
[in] | p_components | OU logique de BufferComponent indiquant les buffers à copier. |
[in] | p_interpolation | L'interpolation à appliquer si l'image est redimensionnée. |
C3D_API void Castor3D::FrameBuffer::Unbind | ( | ) | const |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
|
protected |
La composante alpha de la couleur de vidage.
|
protected |
Toutes les attaches.
|
protected |
La composante bleue de la couleur de vidage.
|
protected |
La composante verte de la couleur de vidage.
|
protected |
La composante rouge de la couleur de vidage.