VTK
|
internal class which encapsulates OpenGL frame buffer object. Not to be used directly. More...
#include <vtkFrameBufferObject.h>
Public Types | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | Bind () |
void | UnBind () |
void | SetColorBuffer (unsigned int index, vtkTextureObject *texture, unsigned int zslice=0) |
vtkTextureObject * | GetColorBuffer (unsigned int index) |
void | RemoveColorBuffer (unsigned int index) |
void | RemoveAllColorBuffers () |
unsigned int | GetMaximumNumberOfActiveTargets () |
unsigned int | GetMaximumNumberOfRenderTargets () |
void | SetContext (vtkRenderWindow *context) |
vtkRenderWindow * | GetContext () |
bool | Start (int width, int height, bool shaderSupportsTextureInt) |
bool | StartNonOrtho (int width, int height, bool shaderSupportsTextureInt) |
void | RenderQuad (int minX, int maxX, int minY, int maxY) |
void | SetActiveBuffer (unsigned int index) |
void | SetActiveBuffers (int numbuffers, unsigned int indices[]) |
void | SetDepthBuffer (vtkTextureObject *depthTexture) |
void | RemoveDepthBuffer () |
virtual void | SetDepthBufferNeeded (bool) |
virtual bool | GetDepthBufferNeeded () |
void | SetNumberOfRenderTargets (unsigned int) |
virtual unsigned int | GetNumberOfRenderTargets () |
virtual int * | GetLastSize () |
virtual void | GetLastSize (int &, int &) |
virtual void | GetLastSize (int[2]) |
![]() | |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
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) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkFrameBufferObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkFrameBufferObject * | SafeDownCast (vtkObject *o) |
static bool | IsSupported (vtkRenderWindow *renWin) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObject *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
void | CheckFrameBufferStatus () |
void | DisplayFrameBufferAttachments () |
void | DisplayFrameBufferAttachment (unsigned int uattachment) |
void | DisplayDrawBuffers () |
void | DisplayReadBuffer () |
void | DisplayBuffer (int value) |
vtkFrameBufferObject () | |
~vtkFrameBufferObject () | |
void | CreateFBO () |
void | DestroyFBO () |
void | Create (int width, int height) |
void | CreateBuffers (int width, int height) |
void | CreateColorBuffers (int width, int height, bool shaderSupportsTextureInt) |
void | Destroy () |
void | DestroyBuffers () |
void | DestroyColorBuffers () |
void | ActivateBuffers () |
bool | LoadRequiredExtensions (vtkOpenGLExtensionManager *manager) |
![]() | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &os) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkWeakPointer< vtkRenderWindow > | Context |
bool | DepthBufferNeeded |
bool | ColorBuffersDirty |
unsigned int | FBOIndex |
int | PreviousFBOIndex |
unsigned int | DepthBuffer |
unsigned int | NumberOfRenderTargets |
int | LastSize [2] |
vtkstd::vector< unsigned int > | UserZSlices |
vtkstd::vector < vtkSmartPointer < vtkTextureObject > > | UserColorBuffers |
vtkstd::vector < vtkSmartPointer < vtkTextureObject > > | ColorBuffers |
vtkstd::vector< unsigned int > | ActiveBuffers |
vtkSmartPointer< vtkTextureObject > | UserDepthBuffer |
bool | DepthBufferDirty |
![]() | |
unsigned char | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
int | 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.
Definition at line 39 of file vtkFrameBufferObject.h.
Definition at line 43 of file vtkFrameBufferObject.h.
|
protected |
|
protected |
|
static |
|
virtual |
Reimplemented from vtkObject.
|
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 vtkObject.
|
static |
|
virtual |
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.
bool vtkFrameBufferObject::Start | ( | int | width, |
int | height, | ||
bool | shaderSupportsTextureInt | ||
) |
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.
bool vtkFrameBufferObject::StartNonOrtho | ( | int | width, |
int | height, | ||
bool | shaderSupportsTextureInt | ||
) |
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 | ||
) |
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 | ( | ) |
Save the current framebuffer and make the frame buffer active. Multiple calls to Bind has no effect.
void vtkFrameBufferObject::UnBind | ( | ) |
Restore the framebuffer saved with the call to Bind(). Multiple calls to UnBind has no effect.
|
inline |
Choose the buffer to render into.
Definition at line 92 of file vtkFrameBufferObject.h.
void vtkFrameBufferObject::SetActiveBuffers | ( | int | numbuffers, |
unsigned int | indices[] | ||
) |
Choose the buffer to render into. This is available only if the GL_ARB_draw_buffers extension is supported by the card.
void vtkFrameBufferObject::SetColorBuffer | ( | unsigned int | index, |
vtkTextureObject * | texture, | ||
unsigned int | zslice = 0 |
||
) |
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.
|
virtual |
Set/Get the number of render targets to render into at once.
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.
|
virtual |
Dimensions in pixels of the framebuffer.
|
virtual |
Dimensions in pixels of the framebuffer.
|
static |
Returns if the context supports the required extensions.
|
protected |
Display the status of the current framebuffer on the standard output.
|
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 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Load all necessary extensions.
|
protected |
Definition at line 179 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 181 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 182 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 183 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 184 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 185 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 187 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 190 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 209 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 210 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 211 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 212 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 213 of file vtkFrameBufferObject.h.
|
protected |
Definition at line 214 of file vtkFrameBufferObject.h.