44 #ifndef vtkFrameBufferObject2_h
45 #define vtkFrameBufferObject2_h
48 #include "vtkRenderingOpenGLModule.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();
200 void InitializeViewport(
int width,
int height);
205 int CheckFrameBufferStatus(
unsigned int mode);
212 bool GetFrameBufferStatus(
226 unsigned int mapping);
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
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
unsigned int PreviousReadBuffer
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.