VTK
|
internal class which encapsulates OpenGL frame buffer object. More...
#include <vtkFrameBufferObject.h>
Public Types | |
typedef vtkFrameBufferObjectBase | Superclass |
typedef vtkFrameBufferObjectBase | Superclass |
Public Types inherited from vtkFrameBufferObjectBase | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkFrameBufferObject * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RenderQuad (int minX, int maxX, int minY, int maxY) |
Renders a quad at the given location with pixel coordinates. More... | |
void | Bind () |
Make the draw frame buffer active (uses FRAMEBUFFER). More... | |
void | UnBind () |
Restore the previous draw framebuffer if saved, else bind the default buffer. More... | |
void | SetActiveBuffer (unsigned int index) |
Choose the buffers to render into. More... | |
void | SetActiveBuffers (int numbuffers, unsigned int indices[]) |
User provided color buffers are attached by index to color buffers. More... | |
void | SetColorBuffer (unsigned int index, vtkTextureObject *texture, unsigned int zslice=0) |
Insert a color buffer into the list of available color buffers. More... | |
vtkTextureObject * | GetColorBuffer (unsigned int index) |
void | RemoveColorBuffer (unsigned int index) |
void | RemoveAllColorBuffers () |
unsigned int | GetMaximumNumberOfActiveTargets () |
Returns the maximum number of targets that can be rendered to at one time. More... | |
unsigned int | GetMaximumNumberOfRenderTargets () |
Returns the maximum number of render targets available. More... | |
int | CheckFrameBufferStatus (unsigned int mode) |
Validate the current FBO configuration (attachments, formats, etc) prints detected errors to vtkErrorMacro. More... | |
virtual int | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkFrameBufferObject * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RenderQuad (int minX, int maxX, int minY, int maxY, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao) |
Renders a quad at the given location with pixel coordinates. More... | |
void | Bind () |
Make the draw frame buffer active (uses FRAMEBUFFER). More... | |
void | UnBind () |
Restore the previous draw framebuffer if saved, else bind the default buffer. More... | |
void | SetActiveBuffer (unsigned int index) |
Choose the buffers to render into. More... | |
void | SetActiveBuffers (int numbuffers, unsigned int indices[]) |
User provided color buffers are attached by index to color buffers. More... | |
void | SetColorBuffer (unsigned int index, vtkTextureObject *texture, unsigned int zslice=0) |
Insert a color buffer into the list of available color buffers. More... | |
vtkTextureObject * | GetColorBuffer (unsigned int index) |
void | RemoveColorBuffer (unsigned int index) |
void | RemoveAllColorBuffers () |
unsigned int | GetMaximumNumberOfActiveTargets () |
Returns the maximum number of targets that can be rendered to at one time. More... | |
unsigned int | GetMaximumNumberOfRenderTargets () |
Returns the maximum number of render targets available. More... | |
int | CheckFrameBufferStatus (unsigned int mode) |
Validate the current FBO configuration (attachments, formats, etc) prints detected errors to vtkErrorMacro. More... | |
virtual void | ReleaseGraphicsResources (vtkWindow *win) |
Deactivate and UnBind. More... | |
void | SetContext (vtkRenderWindow *context) |
Get/Set the context. More... | |
vtkRenderWindow * | GetContext () |
Get/Set the context. More... | |
bool | Start (int width, int height, bool shaderSupportsTextureInt) |
User must take care that width/height match the dimensions of the user defined texture attachments. More... | |
bool | StartNonOrtho (int width, int height, bool shaderSupportsTextureInt) |
User must take care that width/height match the dimensions of the user defined texture attachments. More... | |
void | SetDepthBuffer (vtkTextureObject *depthTexture) |
Set the texture to use as depth buffer. More... | |
void | RemoveDepthBuffer () |
Set the texture to use as depth buffer. More... | |
virtual void | SetDepthBufferNeeded (bool) |
If true, the frame buffer object will be initialized with a depth buffer. More... | |
virtual bool | GetDepthBufferNeeded () |
If true, the frame buffer object will be initialized with a depth buffer. More... | |
void | SetNumberOfRenderTargets (unsigned int) |
Set/Get the number of render targets to render into at once. More... | |
virtual unsigned int | GetNumberOfRenderTargets () |
Set/Get the number of render targets to render into at once. More... | |
virtual int * | GetLastSize () |
Dimensions in pixels of the framebuffer. More... | |
virtual void | GetLastSize (int &, int &) |
Dimensions in pixels of the framebuffer. More... | |
virtual void | GetLastSize (int[2]) |
Dimensions in pixels of the framebuffer. More... | |
void | SetContext (vtkOpenGLRenderWindow *context) |
Get/Set the context. More... | |
vtkOpenGLRenderWindow * | GetContext () |
Get/Set the context. More... | |
bool | Start (int width, int height, bool shaderSupportsTextureInt) |
User must take care that width/height match the dimensions of the user defined texture attachments. More... | |
bool | StartNonOrtho (int width, int height, bool shaderSupportsTextureInt) |
User must take care that width/height match the dimensions of the user defined texture attachments. More... | |
void | SetDepthBuffer (vtkTextureObject *depthTexture) |
Set the texture to use as depth buffer. More... | |
void | RemoveDepthBuffer () |
Set the texture to use as depth buffer. More... | |
virtual void | SetDepthBufferNeeded (bool) |
If true, the frame buffer object will be initialized with a depth buffer. More... | |
virtual bool | GetDepthBufferNeeded () |
If true, the frame buffer object will be initialized with a depth buffer. More... | |
void | SetNumberOfRenderTargets (unsigned int) |
Set/Get the number of render targets to render into at once. More... | |
virtual unsigned int | GetNumberOfRenderTargets () |
Set/Get the number of render targets to render into at once. More... | |
virtual int * | GetLastSize () |
Dimensions in pixels of the framebuffer. More... | |
virtual void | GetLastSize (int &, int &) |
Dimensions in pixels of the framebuffer. More... | |
virtual void | GetLastSize (int[2]) |
Dimensions in pixels of the framebuffer. More... | |
Public Member Functions inherited from vtkFrameBufferObjectBase | |
vtkFrameBufferObjectBase * | NewInstance () const |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkFrameBufferObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkFrameBufferObject * | SafeDownCast (vtkObjectBase *o) |
static bool | IsSupported (vtkRenderWindow *renWin) |
Returns if the context supports the required extensions. More... | |
static vtkFrameBufferObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkFrameBufferObject * | SafeDownCast (vtkObjectBase *o) |
static bool | IsSupported (vtkOpenGLRenderWindow *renWin) |
Returns if the context supports the required extensions. More... | |
Static Public Member Functions inherited from vtkFrameBufferObjectBase | |
static int | IsTypeOf (const char *type) |
static vtkFrameBufferObjectBase * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
void | CreateFBO () |
void | DestroyFBO () |
void | CreateDepthBuffer (int width, int height, unsigned int mode) |
void | CreateColorBuffers (int width, int height, unsigned int mode, bool shaderSupportsTextureInt) |
void | DestroyDepthBuffer () |
void | DestroyColorBuffers () |
void | ActivateBuffers () |
void | DisplayFrameBufferAttachments () |
Display all the attachments of the current framebuffer object. More... | |
void | DisplayFrameBufferAttachment (unsigned int uattachment) |
Display a given attachment for the current framebuffer object. More... | |
void | DisplayDrawBuffers () |
Display the draw buffers. More... | |
void | DisplayReadBuffer () |
Display the read buffer. More... | |
void | DisplayBuffer (int value) |
Display any buffer (convert value into string). More... | |
vtkFrameBufferObject () | |
~vtkFrameBufferObject () | |
virtual vtkObjectBase * | NewInstanceInternal () const |
void | CreateFBO () |
void | DestroyFBO () |
void | CreateDepthBuffer (int width, int height, unsigned int mode) |
void | CreateColorBuffers (int width, int height, unsigned int mode, bool shaderSupportsTextureInt) |
void | DestroyDepthBuffer () |
void | DestroyColorBuffers () |
void | ActivateBuffers () |
void | DisplayFrameBufferAttachments () |
Display all the attachments of the current framebuffer object. More... | |
void | DisplayFrameBufferAttachment (unsigned int uattachment) |
Display a given attachment for the current framebuffer object. More... | |
void | DisplayDrawBuffers () |
Display the draw buffers. More... | |
void | DisplayReadBuffer () |
Display the read buffer. More... | |
void | DisplayBuffer (int value) |
Display any buffer (convert value into string). More... | |
vtkFrameBufferObject () | |
~vtkFrameBufferObject () | |
Protected Member Functions inherited from vtkFrameBufferObjectBase | |
vtkFrameBufferObjectBase () | |
~vtkFrameBufferObjectBase () | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Static Protected Member Functions | |
static bool | LoadRequiredExtensions (vtkRenderWindow *renWin) |
Load all necessary extensions. More... | |
static bool | LoadRequiredExtensions (vtkOpenGLRenderWindow *renWin) |
Load all necessary extensions. More... | |
Protected Attributes | |
vtkWeakPointer< vtkRenderWindow > | Context |
bool | DepthBufferNeeded |
bool | ColorBuffersDirty |
unsigned int | FBOIndex |
int | PreviousFBOIndex |
unsigned int | DepthBuffer |
unsigned int | NumberOfRenderTargets |
int | LastSize [2] |
std::vector< unsigned int > | UserZSlices |
std::vector< vtkSmartPointer< vtkTextureObject > > | UserColorBuffers |
std::vector< vtkSmartPointer< vtkTextureObject > > | ColorBuffers |
std::vector< unsigned int > | ActiveBuffers |
vtkSmartPointer< vtkTextureObject > | UserDepthBuffer |
bool | DepthBufferDirty |
vtkGenericOpenGLResourceFreeCallback * | ResourceCallback |
vtkWeakPointer< vtkOpenGLRenderWindow > | Context |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
internal class which encapsulates OpenGL frame buffer object.
Not to be used directly.
Encapsulates an OpenGL Frame Buffer Object. For use by vtkOpenGLFBORenderWindow, not to be used directly. Use vtkFrameBufferObject2 instead.
Definition at line 46 of file vtkFrameBufferObject.h.
Definition at line 50 of file vtkFrameBufferObject.h.
Definition at line 52 of file vtkFrameBufferObject.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkFrameBufferObjectBase.
|
static |
|
protectedvirtual |
Reimplemented from vtkFrameBufferObjectBase.
vtkFrameBufferObject* vtkFrameBufferObject::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkFrameBufferObjectBase.
void vtkFrameBufferObject::SetContext | ( | vtkRenderWindow * | context | ) |
Get/Set the context.
Context must be a vtkOpenGLRenderWindow. This does not increase the reference count of the context to avoid reference loops. SetContext() may raise an error is the OpenGL context does not support the required OpenGL extensions.
vtkRenderWindow* vtkFrameBufferObject::GetContext | ( | ) |
Get/Set the context.
Context must be a vtkOpenGLRenderWindow. This does not increase the reference count of the context to avoid reference loops. SetContext() may raise an error is the OpenGL context does not support the required OpenGL extensions.
User must take care that width/height match the dimensions of the user defined texture attachments.
This method makes the "active buffers" the buffers that will get drawn into by subsequent drawing calls. Note that this does not clear the render buffers i.e. no glClear() calls are made by either of these methods. It's up to the caller to clear the buffers if needed.
User must take care that width/height match the dimensions of the user defined texture attachments.
This method makes the "active buffers" the buffers that will get drawn into by subsequent drawing calls. Note that this does not clear the render buffers i.e. no glClear() calls are made by either of these methods. It's up to the caller to clear the buffers if needed.
Renders a quad at the given location with pixel coordinates.
This method is provided as a convenience, since we often render quads in a FBO.
void vtkFrameBufferObject::Bind | ( | ) |
Make the draw frame buffer active (uses FRAMEBUFFER).
void vtkFrameBufferObject::UnBind | ( | ) |
Restore the previous draw framebuffer if saved, else bind the default buffer.
|
inline |
Choose the buffers to render into.
Definition at line 105 of file vtkFrameBufferObject.h.
User provided color buffers are attached by index to color buffers.
This command lets you select which attachments are written to. See set color buffer. This call overwrites what the previous list of active buffers.
void vtkFrameBufferObject::SetColorBuffer | ( | unsigned int | index, |
vtkTextureObject * | texture, | ||
unsigned int | zslice = 0 |
||
) |
Insert a color buffer into the list of available color buffers.
0 to NumberOfRenderTargets of these are attached to color attachments by index. See SetActiveBuffers to select them for writing. All user specified texture objects must match the FBO dimensions and must have been created by the time Start() gets called. If texture is a 3D texture, zslice identifies the zslice that will be attached to the color buffer. .SECTION Caveat Currently, 1D textures are not supported.
vtkTextureObject* vtkFrameBufferObject::GetColorBuffer | ( | unsigned int | index | ) |
void vtkFrameBufferObject::RemoveColorBuffer | ( | unsigned int | index | ) |
void vtkFrameBufferObject::RemoveAllColorBuffers | ( | ) |
void vtkFrameBufferObject::SetDepthBuffer | ( | vtkTextureObject * | depthTexture | ) |
Set the texture to use as depth buffer.
void vtkFrameBufferObject::RemoveDepthBuffer | ( | ) |
Set the texture to use as depth buffer.
|
virtual |
If true, the frame buffer object will be initialized with a depth buffer.
Initial value is true.
|
virtual |
If true, the frame buffer object will be initialized with a depth buffer.
Initial value is true.
void vtkFrameBufferObject::SetNumberOfRenderTargets | ( | unsigned | int | ) |
Set/Get the number of render targets to render into at once.
Textures (user supplied or generated internally) are attached to color attachment 0 to NumberOfRenderTargets. You can use SetActiveBuffer to specify which of these are actually written to. If zero then all of the user provided color buffers are used.
|
virtual |
Set/Get the number of render targets to render into at once.
Textures (user supplied or generated internally) are attached to color attachment 0 to NumberOfRenderTargets. You can use SetActiveBuffer to specify which of these are actually written to. If zero then all of the user provided color buffers are used.
unsigned int vtkFrameBufferObject::GetMaximumNumberOfActiveTargets | ( | ) |
Returns the maximum number of targets that can be rendered to at one time.
This limits the active targets set by SetActiveTargets(). The return value is valid only if GetContext is non-null.
unsigned int vtkFrameBufferObject::GetMaximumNumberOfRenderTargets | ( | ) |
Returns the maximum number of render targets available.
This limits the available attachement points for SetColorAttachment(). The return value is valid only if GetContext is non-null.
|
virtual |
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
|
virtual |
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
|
static |
Returns if the context supports the required extensions.
Extension will be loaded when the conetxt is set.
Validate the current FBO configuration (attachments, formats, etc) prints detected errors to vtkErrorMacro.
|
staticprotected |
Load all necessary extensions.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Display all the attachments of the current framebuffer object.
|
protected |
Display a given attachment for the current framebuffer object.
|
protected |
Display the draw buffers.
|
protected |
Display the read buffer.
|
protected |
Display any buffer (convert value into string).
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkFrameBufferObjectBase.
|
static |
|
protectedvirtual |
Reimplemented from vtkFrameBufferObjectBase.
vtkFrameBufferObject* vtkFrameBufferObject::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkFrameBufferObjectBase.
void vtkFrameBufferObject::SetContext | ( | vtkOpenGLRenderWindow * | context | ) |
Get/Set the context.
Context must be a vtkOpenGLRenderWindow. This does not increase the reference count of the context to avoid reference loops. SetContext() may raise an error is the OpenGL context does not support the required OpenGL extensions.
vtkOpenGLRenderWindow* vtkFrameBufferObject::GetContext | ( | ) |
Get/Set the context.
Context must be a vtkOpenGLRenderWindow. This does not increase the reference count of the context to avoid reference loops. SetContext() may raise an error is the OpenGL context does not support the required OpenGL extensions.
User must take care that width/height match the dimensions of the user defined texture attachments.
This method makes the "active buffers" the buffers that will get drawn into by subsequent drawing calls. Note that this does not clear the render buffers i.e. no glClear() calls are made by either of these methods. It's up to the caller to clear the buffers if needed.
User must take care that width/height match the dimensions of the user defined texture attachments.
This method makes the "active buffers" the buffers that will get drawn into by subsequent drawing calls. Note that this does not clear the render buffers i.e. no glClear() calls are made by either of these methods. It's up to the caller to clear the buffers if needed.
void vtkFrameBufferObject::RenderQuad | ( | int | minX, |
int | maxX, | ||
int | minY, | ||
int | maxY, | ||
vtkShaderProgram * | program, | ||
vtkOpenGLVertexArrayObject * | vao | ||
) |
Renders a quad at the given location with pixel coordinates.
This method is provided as a convenience, since we often render quads in a FBO.
void vtkFrameBufferObject::Bind | ( | ) |
Make the draw frame buffer active (uses FRAMEBUFFER).
void vtkFrameBufferObject::UnBind | ( | ) |
Restore the previous draw framebuffer if saved, else bind the default buffer.
|
inline |
Choose the buffers to render into.
Definition at line 108 of file vtkFrameBufferObject.h.
User provided color buffers are attached by index to color buffers.
This command lets you select which attachments are written to. See set color buffer. This call overwrites what the previous list of active buffers.
void vtkFrameBufferObject::SetColorBuffer | ( | unsigned int | index, |
vtkTextureObject * | texture, | ||
unsigned int | zslice = 0 |
||
) |
Insert a color buffer into the list of available color buffers.
0 to NumberOfRenderTargets of these are attached to color attachments by index. See SetActiveBuffers to select them for writing. All user specified texture objects must match the FBO dimensions and must have been created by the time Start() gets called. If texture is a 3D texture, zslice identifies the zslice that will be attached to the color buffer. .SECTION Caveat Currently, 1D textures are not supported.
vtkTextureObject* vtkFrameBufferObject::GetColorBuffer | ( | unsigned int | index | ) |
void vtkFrameBufferObject::RemoveColorBuffer | ( | unsigned int | index | ) |
void vtkFrameBufferObject::RemoveAllColorBuffers | ( | ) |
void vtkFrameBufferObject::SetDepthBuffer | ( | vtkTextureObject * | depthTexture | ) |
Set the texture to use as depth buffer.
void vtkFrameBufferObject::RemoveDepthBuffer | ( | ) |
Set the texture to use as depth buffer.
|
virtual |
If true, the frame buffer object will be initialized with a depth buffer.
Initial value is true.
|
virtual |
If true, the frame buffer object will be initialized with a depth buffer.
Initial value is true.
void vtkFrameBufferObject::SetNumberOfRenderTargets | ( | unsigned | int | ) |
Set/Get the number of render targets to render into at once.
Textures (user supplied or generated internally) are attached to color attachment 0 to NumberOfRenderTargets. You can use SetActiveBuffer to specify which of these are actually written to. If zero then all of the user provided color buffers are used.
|
virtual |
Set/Get the number of render targets to render into at once.
Textures (user supplied or generated internally) are attached to color attachment 0 to NumberOfRenderTargets. You can use SetActiveBuffer to specify which of these are actually written to. If zero then all of the user provided color buffers are used.
unsigned int vtkFrameBufferObject::GetMaximumNumberOfActiveTargets | ( | ) |
Returns the maximum number of targets that can be rendered to at one time.
This limits the active targets set by SetActiveTargets(). The return value is valid only if GetContext is non-null.
unsigned int vtkFrameBufferObject::GetMaximumNumberOfRenderTargets | ( | ) |
Returns the maximum number of render targets available.
This limits the available attachement points for SetColorAttachment(). The return value is valid only if GetContext is non-null.
|
virtual |
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
|
virtual |
Dimensions in pixels of the framebuffer.
Implements vtkFrameBufferObjectBase.
|
static |
Returns if the context supports the required extensions.
Extension will be loaded when the conetxt is set.
Validate the current FBO configuration (attachments, formats, etc) prints detected errors to vtkErrorMacro.
|
virtual |
Deactivate and UnBind.
|
staticprotected |
Load all necessary extensions.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Display all the attachments of the current framebuffer object.
|
protected |
Display a given attachment for the current framebuffer object.
|
protected |
Display the draw buffers.
|
protected |
Display the read buffer.
|
protected |
Display any buffer (convert value into string).
|
protected |
Definition at line 264 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 266 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 267 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 268 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 269 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 270 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 271 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 272 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 273 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 274 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 275 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 276 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 277 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 278 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 216 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 274 of file vtkFrameBufferObject.h.