Go to the documentation of this file.
28 #ifndef vtkFrameBufferObject_h
29 #define vtkFrameBufferObject_h
32 #include "vtkRenderingOpenGL2Module.h"
93 this->SetActiveBuffers(1, &
index);
115 unsigned int zslice=0);
194 bool shaderSupportsTextureInt);
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;
internal class which encapsulates OpenGL frame buffer object. Not to be used directly.
void SetActiveBuffers(int numbuffers, unsigned int indices[])
void DestroyColorBuffers()
void RenderQuad(int minX, int maxX, int minY, int maxY, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
#define vtkGetVector2Macro(name, type)
void DisplayBuffer(int value)
void CreateDepthBuffer(int width, int height, unsigned int mode)
int CheckFrameBufferStatus(unsigned int mode)
void SetActiveBuffer(unsigned int index)
#define vtkTypeMacro(thisClass, superclass)
abstract base class for most VTK objects
void RemoveColorBuffer(unsigned int index)
void PrintSelf(ostream &os, vtkIndent indent)
static bool IsSupported(vtkOpenGLRenderWindow *renWin)
bool StartNonOrtho(int width, int height, bool shaderSupportsTextureInt)
void DisplayFrameBufferAttachment(unsigned int uattachment)
GLsizei const GLfloat * value
bool Start(int width, int height, bool shaderSupportsTextureInt)
The ShaderProgram uses one or more Shader objects.
void DisplayFrameBufferAttachments()
a simple class to control print indentation
abstracts an OpenGL texture object.
void SetColorBuffer(unsigned int index, vtkTextureObject *texture, unsigned int zslice=0)
void DestroyDepthBuffer()
GLuint GLuint GLsizei GLenum const GLvoid * indices
vtkOpenGLRenderWindow * GetContext()
#define vtkGetMacro(name, type)
static bool LoadRequiredExtensions(vtkOpenGLRenderWindow *renWin)
unsigned int GetMaximumNumberOfRenderTargets()
vtkTextureObject * GetColorBuffer(unsigned int index)
void RemoveAllColorBuffers()
void DisplayDrawBuffers()
unsigned int GetMaximumNumberOfActiveTargets()
GLint GLint GLsizei width
vtkSetMacro(IgnoreDriverBugs, bool)
vtkWeakPointer< vtkOpenGLRenderWindow > Context
void SetNumberOfRenderTargets(unsigned int)
static vtkFrameBufferObject * New()
void SetDepthBuffer(vtkTextureObject *depthTexture)
void CreateColorBuffers(int width, int height, unsigned int mode, bool shaderSupportsTextureInt)
create a window for renderers to draw into
void SetContext(vtkOpenGLRenderWindow *context)
The VertexArrayObject class uses, or emulates, vertex array objects.
abstracts an OpenGL pixel buffer object.
GLint GLint GLsizei GLsizei height