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) 109 void Bind(
unsigned int mode);
114 void UnBind(
unsigned int mode);
120 void SaveCurrentBindings();
126 void SaveCurrentBuffers();
127 void RestorePreviousBuffers(
unsigned int mode);
132 void AddColorAttachment(
138 void AddTexColorAttachment(
141 unsigned int handle);
143 void RemoveTexColorAttachments(
unsigned int mode,
unsigned int num);
145 { this->AddTexColorAttachment(mode, attId, 0U); }
149 void AddColorAttachment(
155 void AddRenColorAttachment(
158 unsigned int handle);
160 void RemoveRenColorAttachments(
unsigned int mode,
unsigned int num);
162 { this->AddRenColorAttachment(mode, attId, 0U); }
167 void AddTexDepthAttachment(
unsigned int mode,
unsigned int handle);
169 { this->AddTexDepthAttachment(mode, 0U); }
175 void AddRenDepthAttachment(
unsigned int mode,
unsigned int handle);
177 { this->AddRenDepthAttachment(mode, 0U); }
182 void ActivateDrawBuffer(
unsigned int id);
183 void ActivateReadBuffer(
unsigned int id);
184 void DeactivateReadBuffer();
189 void ActivateDrawBuffers(
unsigned int n);
190 void ActivateDrawBuffers(
unsigned int *
ids,
int n);
191 void DeactivateDrawBuffers();
205 int CheckFrameBufferStatus(
unsigned int mode);
212 bool GetFrameBufferStatus(
297 int GetOpenGLType(
int vtkType);
unsigned int PreviousDrawBuffer
unsigned int PreviousReadFBO
void RemoveRenColorAttachment(unsigned int mode, unsigned int attId)
void RemoveRenDepthAttachment(unsigned int mode)
abstract base class for most VTK objects
vtkWeakPointer< vtkRenderWindow > Context
GLenum GLenum GLenum GLenum mapping
#define vtkTypeMacro(thisClass, superclass)
GLint GLint GLsizei GLsizei height
virtual void PrintSelf(ostream &os, vtkIndent indent)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
a simple class to control print indentation
unsigned int PreviousReadBuffer
#define VTKRENDERINGOPENGL_EXPORT
GLint GLint GLsizei width
abstracts an OpenGL pixel buffer object.
Interface class for querying and using OpenGL extensions.
abstracts an OpenGL texture object.
create a window for renderers to draw into
unsigned int PreviousDrawFBO
void RemoveTexColorAttachment(unsigned int mode, unsigned int attId)
void RemoveTexDepthAttachment(unsigned int mode)
Interface to OpenGL framebuffer object.