28 #ifndef vtkFrameBufferObject_h 29 #define vtkFrameBufferObject_h 32 #include "vtkRenderingOpenGL2Module.h" 68 bool Start(
int width,
int height,
bool shaderSupportsTextureInt);
69 bool StartNonOrtho(
int width,
int height,
bool shaderSupportsTextureInt);
78 void RenderQuad(
int minX,
int maxX,
int minY,
int maxY,
93 this->SetActiveBuffers(1, &index);
101 void SetActiveBuffers(
int numbuffers,
unsigned int indices[]);
115 unsigned int zslice=0);
119 void RemoveColorBuffer(
unsigned int index);
120 void RemoveAllColorBuffers();
125 void RemoveDepthBuffer();
141 void SetNumberOfRenderTargets(
unsigned int);
148 unsigned int GetMaximumNumberOfActiveTargets();
153 unsigned int GetMaximumNumberOfRenderTargets();
166 int CheckFrameBufferStatus(
unsigned int mode);
184 void CreateDepthBuffer(
int width,
int height,
unsigned int mode);
190 void CreateColorBuffers(
194 bool shaderSupportsTextureInt);
197 void DestroyDepthBuffer();
198 void DestroyColorBuffers();
201 void ActivateBuffers();
204 void DisplayFrameBufferAttachments();
207 void DisplayFrameBufferAttachment(
unsigned int uattachment);
210 void DisplayDrawBuffers();
213 void DisplayReadBuffer();
216 void DisplayBuffer(
int value);
223 bool DepthBufferNeeded;
224 bool ColorBuffersDirty;
225 unsigned int FBOIndex;
226 int PreviousFBOIndex;
227 unsigned int DepthBuffer;
228 unsigned int NumberOfRenderTargets;
230 std::vector<unsigned int> UserZSlices;
231 std::vector<vtkSmartPointer<vtkTextureObject> > UserColorBuffers;
232 std::vector<vtkSmartPointer<vtkTextureObject> > ColorBuffers;
233 std::vector<unsigned int> ActiveBuffers;
235 bool DepthBufferDirty;
abstract base class for most VTK objects
#define vtkGetMacro(name, type)
GLsizei const GLfloat * value
void SetActiveBuffer(unsigned int index)
#define vtkTypeMacro(thisClass, superclass)
GLint GLint GLsizei GLsizei height
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
GLint GLint GLsizei width
abstracts an OpenGL pixel buffer object.
GLuint GLuint GLsizei GLenum const GLvoid * indices
internal class which encapsulates OpenGL frame buffer object. Not to be used directly.
abstracts an OpenGL texture object.
#define vtkGetVector2Macro(name, type)
create a window for renderers to draw into
vtkWeakPointer< vtkOpenGLRenderWindow > Context
The ShaderProgram uses one or more Shader objects.
#define vtkSetMacro(name, type)