Go to the documentation of this file.
44 #ifndef vtkFrameBufferObject2_h
45 #define vtkFrameBufferObject2_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)
141 unsigned int handle);
145 { this->AddTexColorAttachment(
mode, attId, 0U); }
158 unsigned int handle);
162 { this->AddRenColorAttachment(
mode, attId, 0U); }
169 { this->AddTexDepthAttachment(
mode, 0U); }
177 { this->AddRenDepthAttachment(
mode, 0U); }
int GetOpenGLType(int vtkType)
unsigned int PreviousDrawBuffer
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)
Interface class for querying and using OpenGL extensions.
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)
unsigned int PreviousReadFBO
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()
vtkWeakPointer< vtkRenderWindow > Context
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)
unsigned int PreviousDrawFBO
create a window for renderers to draw into
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Interface to OpenGL framebuffer object.
unsigned int PreviousReadBuffer
static bool IsSupported(vtkRenderWindow *renWin)
abstracts an OpenGL pixel buffer object.
vtkPixelBufferObject * DownloadDepth(int extent[4], int vtkType)
#define VTKRENDERINGOPENGL_EXPORT
GLint GLint GLsizei GLsizei height