Go to the documentation of this file.
44 #ifndef vtkFrameBufferObject2_h
45 #define vtkFrameBufferObject2_h
48 #include "vtkRenderingOpenGL2Module.h"
58 # define vtkCheckFrameBufferStatusMacro(mode)
59 # define vtkStaticCheckFrameBufferStatusMacro(mode)
61 # define vtkCheckFrameBufferStatusMacroImpl(macro, mode) \
64 bool ok = vtkFrameBufferObject2::GetFrameBufferStatus(mode, eStr); \
68 << "OpenGL ERROR. The FBO is incomplete : " << eStr); \
71 # define vtkCheckFrameBufferStatusMacro(mode) \
72 vtkCheckFrameBufferStatusMacroImpl(vtkErrorMacro, mode)
73 # define vtkStaticCheckFrameBufferStatusMacro(mode) \
74 vtkCheckFrameBufferStatusMacroImpl(vtkGenericWarningMacro, mode)
140 unsigned int handle);
144 { this->AddTexColorAttachment(
mode, attId, 0U); }
157 unsigned int handle);
161 { this->AddRenColorAttachment(
mode, attId, 0U); }
168 { this->AddTexDepthAttachment(
mode, 0U); }
176 { this->AddRenDepthAttachment(
mode, 0U); }
303 unsigned int FBOIndex;
304 unsigned int PreviousDrawFBO;
305 unsigned int PreviousReadFBO;
306 unsigned int DepthBuffer;
307 unsigned int PreviousDrawBuffer;
308 unsigned int PreviousReadBuffer;
int GetOpenGLType(int vtkType)
void RemoveTexDepthAttachment(unsigned int mode)
void AddDepthAttachment(unsigned int mode, vtkRenderbuffer *tex)
GLenum GLenum GLenum GLenum mapping
static void InitializeViewport(int width, int height)
void AddRenColorAttachment(unsigned int mode, unsigned int attId, unsigned int handle)
void PrintSelf(ostream &os, vtkIndent indent)
void RemoveRenDepthAttachment(unsigned int mode)
#define vtkTypeMacro(thisClass, superclass)
abstract base class for most VTK objects
void RestorePreviousBuffers(unsigned int mode)
void UnBind(unsigned int mode)
vtkPixelBufferObject * Download(int extent[4], int vtkType, int nComps, int oglType, int oglFormat)
void AddTexDepthAttachment(unsigned int mode, unsigned int handle)
void AddTexColorAttachment(unsigned int mode, unsigned int attId, unsigned int handle)
void DeactivateDrawBuffers()
void RemoveRenColorAttachment(unsigned int mode, unsigned int attId)
void AddColorAttachment(unsigned int mode, unsigned int attId, vtkRenderbuffer *tex)
vtkPixelBufferObject * DownloadColor3(int extent[4], int vtkType)
void DeactivateReadBuffer()
void RemoveRenColorAttachments(unsigned int mode, unsigned int num)
void ActivateDrawBuffers(unsigned int n)
static vtkFrameBufferObject2 * New()
void SaveCurrentBuffers()
void ActivateDrawBuffers(unsigned int *ids, int n)
void ActivateDrawBuffer(unsigned int id)
static bool LoadRequiredExtensions(vtkRenderWindow *renWin)
static bool GetFrameBufferStatus(unsigned int mode, const char *&desc)
a simple class to control print indentation
abstracts an OpenGL texture object.
void AddRenDepthAttachment(unsigned int mode, unsigned int handle)
int CheckFrameBufferStatus(unsigned int mode)
void RemoveTexColorAttachments(unsigned int mode, unsigned int num)
vtkPixelBufferObject * DownloadColor4(int extent[4], int vtkType)
void ActivateReadBuffer(unsigned int id)
void SaveCurrentBindings()
vtkRenderWindow * GetContext()
void SetContext(vtkRenderWindow *context)
GLint GLint GLsizei width
static void Download(int extent[4], int vtkType, int nComps, int oglType, int oglFormat, vtkPixelBufferObject *pbo)
void AddColorAttachment(unsigned int mode, unsigned int attId, vtkTextureObject *tex)
vtkPixelBufferObject * DownloadColor1(int extent[4], int vtkType, int channel)
void Bind(unsigned int mode)
void AddDepthAttachment(unsigned int mode, vtkTextureObject *tex)
static int Blit(int srcExt[4], int destExt[4], unsigned int bits, unsigned int mapping)
void RemoveTexColorAttachment(unsigned int mode, unsigned int attId)
create a window for renderers to draw into
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Interface to OpenGL framebuffer object.
static bool IsSupported(vtkRenderWindow *renWin)
abstracts an OpenGL pixel buffer object.
vtkPixelBufferObject * DownloadDepth(int extent[4], int vtkType)
GLint GLint GLsizei GLsizei height