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
 
unsigned int PreviousReadFBO
 
void RemoveRenColorAttachment(unsigned int mode, unsigned int attId)
 
void RemoveRenDepthAttachment(unsigned int mode)
Directly assign/remove a renderbuffer to depth attachments. 
 
abstract base class for most VTK objects 
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses. 
 
vtkWeakPointer< vtkRenderWindow > Context
 
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
 
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
 
void RemoveTexColorAttachment(unsigned int mode, unsigned int attId)
 
void RemoveTexDepthAttachment(unsigned int mode)
Directly assign/remove a texture/renderbuffer to depth attachments. 
 
Interface to OpenGL framebuffer object.