28 #ifndef __vtkFrameBufferObject_h
29 #define __vtkFrameBufferObject_h
69 bool Start(
int width,
int height,
bool shaderSupportsTextureInt);
70 bool StartNonOrtho(
int width,
int height,
bool shaderSupportsTextureInt);
78 void RenderQuad(
int minX,
int maxX,
int minY,
int maxY);
91 this->SetActiveBuffers(1, &index);
99 void SetActiveBuffers(
int numbuffers,
unsigned int indices[]);
113 unsigned int zslice=0);
117 void RemoveColorBuffer(
unsigned int index);
118 void RemoveAllColorBuffers();
123 void RemoveDepthBuffer();
129 vtkSetMacro(DepthBufferNeeded,
bool);
130 vtkGetMacro(DepthBufferNeeded,
bool);
139 void SetNumberOfRenderTargets(
unsigned int);
140 vtkGetMacro(NumberOfRenderTargets,
unsigned int);
146 unsigned int GetMaximumNumberOfActiveTargets();
151 unsigned int GetMaximumNumberOfRenderTargets();
155 vtkGetVector2Macro(LastSize,
int);
164 int CheckFrameBufferStatus(
unsigned int mode);
189 void CreateColorBuffers(
193 bool shaderSupportsTextureInt);
196 void DestroyDepthBuffer();
197 void DestroyColorBuffers();
200 void ActivateBuffers();
203 void DisplayFrameBufferAttachments();
206 void DisplayFrameBufferAttachment(
unsigned int uattachment);
209 void DisplayDrawBuffers();
212 void DisplayReadBuffer();
215 void DisplayBuffer(
int value);
abstract base class for most VTK objects
GLsizei const GLfloat * value
unsigned int NumberOfRenderTargets
void SetActiveBuffer(unsigned int index)
GLint GLint GLsizei GLsizei height
std::vector< unsigned int > UserZSlices
vtkWeakPointer< vtkRenderWindow > Context
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
std::vector< vtkSmartPointer< vtkTextureObject > > UserColorBuffers
#define VTKRENDERINGOPENGL_EXPORT
GLint GLint GLsizei width
vtkSmartPointer< vtkTextureObject > UserDepthBuffer
abstracts an OpenGL pixel buffer object.
GLuint GLuint GLsizei GLenum const GLvoid * indices
Interface class for querying and using OpenGL extensions.
std::vector< unsigned int > ActiveBuffers
internal class which encapsulates OpenGL frame buffer object. Not to be used directly.
abstracts an OpenGL texture object.
create a window for renderers to draw into
std::vector< vtkSmartPointer< vtkTextureObject > > ColorBuffers