Castor3D
..
|
Classe de tampon d'image. Plus de détails...
Fonctions membres publiques | |
FrameBuffer (Engine *p_pEngine) | |
Constructeur [in] p_pEngine Le moteur. Plus de détails... | |
virtual | ~FrameBuffer () |
Destructeur. Plus de détails... | |
virtual bool | Create (int p_iSamplesCount)=0 |
Fonction de création. Plus de détails... | |
virtual void | Destroy ()=0 |
Fonction de destruction. Plus de détails... | |
bool | Bind (eFRAMEBUFFER_MODE p_eMode=eFRAMEBUFFER_MODE_AUTOMATIC, eFRAMEBUFFER_TARGET p_eTarget=eFRAMEBUFFER_TARGET_BOTH) |
Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails... | |
void | Unbind () |
Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails... | |
bool | BlitInto (FrameBufferSPtr p_pBuffer, Castor::Rectangle const &p_rectSrcDst, uint32_t p_uiComponents) |
Blitte ce tampon dans celui donné Plus de détails... | |
bool | StretchInto (FrameBufferSPtr p_pBuffer, Castor::Rectangle const &p_rectSrc, Castor::Rectangle const &p_rectDst, uint32_t p_uiComponents, eINTERPOLATION_MODE p_eInterpolation) |
Blitte ce tampon dans celui donné Plus de détails... | |
virtual void | RenderToBuffer (FrameBufferSPtr p_pBuffer, Castor::Size const &p_sizeDst, uint32_t p_uiComponents, DepthStencilStateSPtr p_pDepthStencilState, RasteriserStateSPtr p_pRasteriserState) |
Rend ce tampon dans les composantes choisies d'un autre tampon. Plus de détails... | |
bool | SetDrawBuffer (eATTACHMENT_POINT p_eAttach) |
Définit le tampon de couleur dans lequel le dessin doit être effectué Plus de détails... | |
template<uint32_t N> | |
bool | SetDrawBuffers (eATTACHMENT_POINT p_eAttach[N]) |
Définit les buffers de couleur dans lesquel le dessin doit être effectué Plus de détails... | |
bool | SetDrawBuffers (std::vector< eATTACHMENT_POINT > const &p_arrayAttaches) |
Définit les buffers de couleur dans lesquel le dessin doit être effectué Plus de détails... | |
virtual bool | SetDrawBuffers (uint32_t p_uiSize, eATTACHMENT_POINT const *p_eAttach)=0 |
Définit les buffers de couleur dans lesquel le dessin doit être effectué Plus de détails... | |
virtual bool | SetDrawBuffers ()=0 |
Définit les buffers dans lesquels le dessin doit être effectué Plus de détails... | |
virtual bool | SetReadBuffer (eATTACHMENT_POINT p_eAttach)=0 |
Définit le tampon de couleur source pour la lecture de pixels. Plus de détails... | |
virtual ColourRenderBufferSPtr | CreateColourRenderBuffer (Castor::ePIXEL_FORMAT p_ePixelFormat)=0 |
Crée un tampon de rendu couleur. Plus de détails... | |
virtual DepthStencilRenderBufferSPtr | CreateDepthStencilRenderBuffer (Castor::ePIXEL_FORMAT p_ePixelFormat)=0 |
Crée un tampon de rendu profondeur/stencil. Plus de détails... | |
void | Attach (RenderBufferAttachmentRPtr p_pAttach) |
Attache un tampon de rendu à ce tampon d'image. Plus de détails... | |
void | Detach (RenderBufferAttachmentRPtr p_pAttach) |
Détache un tampon de rendu de ce tampon d'image. Plus de détails... | |
void | Attach (TextureAttachmentRPtr p_pAttach) |
Attache une texture à ce tampon d'image. Plus de détails... | |
void | Detach (TextureAttachmentRPtr p_pAttach) |
Détache une texture de ce tampon d'image. Plus de détails... | |
bool | Attach (eATTACHMENT_POINT p_eAttachment, DynamicTextureSPtr p_pTexture, eTEXTURE_TARGET p_eTarget, int p_iLayer=0) |
Attache une texture à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
bool | Attach (eATTACHMENT_POINT p_eAttachment, RenderBufferSPtr p_pRenderBuffer) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
void | DetachAll () |
Détache tous les objets attachés Plus de détails... | |
virtual void | Resize (Castor::Size const &p_size) |
Redimensionne tous les tampons attachés Plus de détails... | |
virtual bool | IsComplete ()=0 |
Vérifies i le FBO est complet. Plus de détails... | |
Fonctions membres protégées | |
virtual bool | DoBind (eFRAMEBUFFER_TARGET p_eTarget)=0 |
Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails... | |
virtual void | DoUnbind ()=0 |
Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails... | |
virtual void | DoAttach (RenderBufferAttachmentRPtr p_pAttach)=0 |
Attache un tampon de rendu à ce tampon d'image. Plus de détails... | |
virtual void | DoDetach (RenderBufferAttachmentRPtr p_pAttach)=0 |
Détache un tampon de rendu de ce tampon d'image. Plus de détails... | |
virtual void | DoAttach (TextureAttachmentRPtr p_pAttach)=0 |
Attache un texture à ce tampon d'image. Plus de détails... | |
virtual void | DoDetach (TextureAttachmentRPtr p_pAttach)=0 |
Détache une texture de ce tampon d'image. Plus de détails... | |
virtual bool | DoAttach (eATTACHMENT_POINT p_eAttachment, DynamicTextureSPtr p_pTexture, eTEXTURE_TARGET p_eTarget, int p_iLayer=0)=0 |
Attache une texture à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
virtual bool | DoAttach (eATTACHMENT_POINT p_eAttachment, RenderBufferSPtr p_pRenderBuffer)=0 |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu. Plus de détails... | |
virtual void | DoDetachAll ()=0 |
Détache tous les objets attachés Plus de détails... | |
virtual bool | DoStretchInto (FrameBufferSPtr p_pBuffer, Castor::Rectangle const &p_rectSrc, Castor::Rectangle const &p_rectDst, uint32_t p_uiComponents, eINTERPOLATION_MODE p_eInterpolation)=0 |
Blitte ce tampon dans celui donné Plus de détails... | |
DECLARE_MAP (eATTACHMENT_POINT, RenderBufferSPtr, RboAttach) | |
DECLARE_MAP (eATTACHMENT_POINT, DynamicTextureSPtr, TexAttach) | |
DECLARE_VECTOR (eATTACHMENT_POINT, Attach) | |
Attributs protégés | |
RboAttachMap | m_mapRbo |
Map des tampons de rendu attachés Plus de détails... | |
TexAttachMap | m_mapTex |
Map des textures attachées. Plus de détails... | |
Engine * | m_pEngine |
Le moteur. Plus de détails... | |
AttachArray | m_arrayAttaches |
Toutes les attaches. Plus de détails... | |
Classe de tampon d'image.
Castor3D::FrameBuffer::FrameBuffer | ( | Engine * | p_pEngine | ) |
Constructeur [in] p_pEngine Le moteur.
|
virtual |
Destructeur.
void Castor3D::FrameBuffer::Attach | ( | RenderBufferAttachmentRPtr | p_pAttach | ) |
Attache un tampon de rendu à ce tampon d'image.
[in] | p_pAttach | L'attache |
void Castor3D::FrameBuffer::Attach | ( | TextureAttachmentRPtr | p_pAttach | ) |
Attache une texture à ce tampon d'image.
[in] | p_pAttach | L'attache |
bool Castor3D::FrameBuffer::Attach | ( | eATTACHMENT_POINT | p_eAttachment, |
DynamicTextureSPtr | p_pTexture, | ||
eTEXTURE_TARGET | p_eTarget, | ||
int | p_iLayer = 0 |
||
) |
Attache une texture à ce tampon d'image, au point d'attache voulu.
[in] | p_eAttachment | Le point d'attache |
[in] | p_pTexture | La texture |
[in] | p_eTarget | La dimension à laquelle la texture doit être attachée |
[in] | p_iLayer | La couche associée, si p_eDimension vaut eTEXTURE_TARGET_3D or eTEXTURE_TARGET_LAYER |
true
si tout s'est bien passé bool Castor3D::FrameBuffer::Attach | ( | eATTACHMENT_POINT | p_eAttachment, |
RenderBufferSPtr | p_pRenderBuffer | ||
) |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu.
[in] | p_eAttachment | Le point d'attache |
[in] | p_pRenderBuffer | Le tampon de rendu |
true
si tout s'est bien passé bool Castor3D::FrameBuffer::Bind | ( | eFRAMEBUFFER_MODE | p_eMode = eFRAMEBUFFER_MODE_AUTOMATIC , |
eFRAMEBUFFER_TARGET | p_eTarget = eFRAMEBUFFER_TARGET_BOTH |
||
) |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | p_eTarget | La cible d'activation du tampon d'image |
[in] | p_eMode | Le mode d'activation du tampon d'image |
true
si tout s'est bien passé bool Castor3D::FrameBuffer::BlitInto | ( | FrameBufferSPtr | p_pBuffer, |
Castor::Rectangle const & | p_rectSrcDst, | ||
uint32_t | p_uiComponents | ||
) |
Blitte ce tampon dans celui donné
[in] | p_pBuffer | Le tampon recevant celui-ci |
[in] | p_rectSrcDst | Le rectangle |
[in] | p_uiComponents | OU logique de eBUFFER_COMPONENT indiquant les buffers à copier |
true
si tout s'est bien passé
|
pure virtual |
Fonction de création.
[in] | p_iSamplesCount | Nombre de samples, si le tampon d'image doit supporter le multisampling |
true
si tout s'est bien passé
|
pure virtual |
Crée un tampon de rendu couleur.
[in] | p_ePixelFormat | Le fromat de pixels du tampon |
|
pure virtual |
Crée un tampon de rendu profondeur/stencil.
[in] | p_ePixelFormat | Le fromat de pixels du tampon |
|
protected |
|
protected |
|
protected |
|
pure virtual |
Fonction de destruction.
void Castor3D::FrameBuffer::Detach | ( | RenderBufferAttachmentRPtr | p_pAttach | ) |
Détache un tampon de rendu de ce tampon d'image.
[in] | p_pAttach | L'attache |
void Castor3D::FrameBuffer::Detach | ( | TextureAttachmentRPtr | p_pAttach | ) |
Détache une texture de ce tampon d'image.
[in] | p_pAttach | L'attache |
void Castor3D::FrameBuffer::DetachAll | ( | ) |
Détache tous les objets attachés
|
protectedpure virtual |
Attache un tampon de rendu à ce tampon d'image.
[in] | p_pAttach | L'attache |
|
protectedpure virtual |
Attache un texture à ce tampon d'image.
[in] | p_pAttach | L'attache |
|
protectedpure virtual |
Attache une texture à ce tampon d'image, au point d'attache voulu.
[in] | p_eAttachment | Le point d'attache |
[in] | p_pTexture | La texture |
[in] | p_eTarget | La dimension à laquelle la texture doit être attachée |
[in] | p_iLayer | La couche associée, si p_eDimension vaut eTEXTURE_TARGET_3D or eTEXTURE_TARGET_LAYER |
true
si tout s'est bien passé
|
protectedpure virtual |
Attache un tampon de rendu à ce tampon d'image, au point d'attache voulu.
[in] | p_eAttachment | Le point d'attache |
[in] | p_pRenderBuffer | Le tampon de rendu |
true
si tout s'est bien passé
|
protectedpure virtual |
Fonction d'activation, pour dire au GPU qu'il est activé
[in] | p_eTarget | La cible d'activation du tampon d'image |
true
si tout s'est bien passé
|
protectedpure virtual |
Détache un tampon de rendu de ce tampon d'image.
[in] | p_pAttach | L'attache |
|
protectedpure virtual |
Détache une texture de ce tampon d'image.
[in] | p_pAttach | L'attache |
|
protectedpure virtual |
Détache tous les objets attachés
|
protectedpure virtual |
Blitte ce tampon dans celui donné
[in] | p_pBuffer | Le tampon recevant celui-ci |
[in] | p_rectSrc | Le rectangle source |
[in] | p_rectDst | Le rectangle destination |
[in] | p_uiComponents | OU logique de eBUFFER_COMPONENT indiquant les buffers à copier |
[in] | p_eInterpolation | L'interpolation à appliquer si l'image est redimensionnée |
true
si tout s'est bien passé
|
protectedpure virtual |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
|
pure virtual |
Vérifies i le FBO est complet.
false
si le tampon est en erreur ou s'il manque une attache.
|
virtual |
Rend ce tampon dans les composantes choisies d'un autre tampon.
[in] | p_pBuffer | Le tampon recevant le rendu |
[in] | p_sizeDst | Les dimensions de la destination |
[in] | p_uiComponents | OU logique de eBUFFER_COMPONENT indiquant les composantes du tampon destination |
|
virtual |
Redimensionne tous les tampons attachés
[in] | p_size | Les nouvelles dimensions |
|
inline |
Définit le tampon de couleur dans lequel le dessin doit être effectué
[in] | p_eAttach | Le tampon de couleur |
true
si tout s'est bien passé
|
inline |
Définit les buffers de couleur dans lesquel le dessin doit être effectué
[in] | p_uiSize | Le nombre de buffers |
[in] | p_eAttach | Les buffers de couleur |
true
si tout s'est bien passé
|
inline |
Définit les buffers de couleur dans lesquel le dessin doit être effectué
[in] | p_arrayAttaches | Les buffers de couleur |
true
si tout s'est bien passé
|
pure virtual |
Définit les buffers de couleur dans lesquel le dessin doit être effectué
[in] | p_uiSize | Le nombre de buffers |
[in] | p_eAttach | Les buffers de couleur |
true
si tout s'est bien passé
|
pure virtual |
Définit les buffers dans lesquels le dessin doit être effectué
true
si tout s'est bien passé
|
pure virtual |
Définit le tampon de couleur source pour la lecture de pixels.
[in] | p_eAttach | Le tampon de couleur |
true
si tout s'est bien passé bool Castor3D::FrameBuffer::StretchInto | ( | FrameBufferSPtr | p_pBuffer, |
Castor::Rectangle const & | p_rectSrc, | ||
Castor::Rectangle const & | p_rectDst, | ||
uint32_t | p_uiComponents, | ||
eINTERPOLATION_MODE | p_eInterpolation | ||
) |
Blitte ce tampon dans celui donné
[in] | p_pBuffer | Le tampon recevant celui-ci |
[in] | p_rectSrc | Le rectangle source |
[in] | p_rectDst | Le rectangle destination |
[in] | p_uiComponents | OU logique de eBUFFER_COMPONENT indiquant les buffers à copier |
[in] | p_eInterpolation | L'interpolation à appliquer si l'image est redimensionnée |
true
si tout s'est bien passé void Castor3D::FrameBuffer::Unbind | ( | ) |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
|
protected |
Toutes les attaches.
|
protected |
Map des tampons de rendu attachés
|
protected |
Map des textures attachées.
|
protected |
Le moteur.