Go to the documentation of this file.
45 #ifndef vtkFrameBufferObject2_h
46 #define vtkFrameBufferObject2_h
49 #include "vtkRenderingOpenGLModule.h"
60 # define vtkCheckFrameBufferStatusMacro(mode)
61 # define vtkStaticCheckFrameBufferStatusMacro(mode)
63 # define vtkCheckFrameBufferStatusMacroImpl(macro, mode) \
66 bool ok = vtkFrameBufferObject2::GetFrameBufferStatus(mode, eStr); \
70 << "OpenGL ERROR. The FBO is incomplete : " << eStr); \
73 # define vtkCheckFrameBufferStatusMacro(mode) \
74 vtkCheckFrameBufferStatusMacroImpl(vtkErrorMacro, mode)
75 # define vtkStaticCheckFrameBufferStatusMacro(mode) \
76 vtkCheckFrameBufferStatusMacroImpl(vtkGenericWarningMacro, mode)
117 void Bind(
unsigned int mode);
124 void UnBind(
unsigned int mode);
133 void SaveCurrentBindings();
143 void SaveCurrentBuffers();
144 void RestorePreviousBuffers(
unsigned int mode);
150 void AddColorAttachment(
155 void AddTexColorAttachment(
158 unsigned int handle);
160 void RemoveTexColorAttachments(
unsigned int mode,
unsigned int num);
162 { this->AddTexColorAttachment(
mode, attId, 0U); }
167 void AddColorAttachment(
172 void AddRenColorAttachment(
175 unsigned int handle);
177 void RemoveRenColorAttachments(
unsigned int mode,
unsigned int num);
179 { this->AddRenColorAttachment(
mode, attId, 0U); }
186 void AddTexDepthAttachment(
unsigned int mode,
unsigned int handle);
188 { this->AddTexDepthAttachment(
mode, 0U); }
196 void AddRenDepthAttachment(
unsigned int mode,
unsigned int handle);
198 { this->AddRenDepthAttachment(
mode, 0U); }
205 void ActivateDrawBuffer(
unsigned int id);
206 void ActivateReadBuffer(
unsigned int id);
207 void DeactivateReadBuffer();
215 void ActivateDrawBuffers(
unsigned int n);
216 void ActivateDrawBuffers(
unsigned int *ids,
int n);
217 void DeactivateDrawBuffers();
227 void InitializeViewport(
int width,
int height);
234 int CheckFrameBufferStatus(
unsigned int mode);
243 bool GetFrameBufferStatus(
258 unsigned int mapping);
330 int GetOpenGLType(
int vtkType);
unsigned int PreviousDrawBuffer
void RemoveTexDepthAttachment(unsigned int mode)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
void RemoveRenDepthAttachment(unsigned int mode)
abstract base class for most VTK objects
void RemoveRenColorAttachment(unsigned int mode, unsigned int attId)
Interface class for querying and using OpenGL extensions.
unsigned int PreviousReadFBO
a simple class to control print indentation
abstracts an OpenGL texture object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkWeakPointer< vtkRenderWindow > Context
void RemoveTexColorAttachment(unsigned int mode, unsigned int attId)
unsigned int PreviousDrawFBO
create a window for renderers to draw into
Interface to OpenGL framebuffer object.
unsigned int PreviousReadBuffer
abstracts an OpenGL pixel buffer object.