VTK: vtkOpenGLFXAAFilter Class Reference

| VTK 9.3.1

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkOpenGLFXAAFilter Class Reference

Perform FXAA antialiasing on the current framebuffer. More...

`#include <vtkOpenGLFXAAFilter.h>`

Inheritance diagram for vtkOpenGLFXAAFilter:
[legend]
Collaboration diagram for vtkOpenGLFXAAFilter:
[legend]

## Public Types
typedef vtkObject | Superclass

## Public Member Functions
virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkOpenGLFXAAFilter * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | Execute (vtkOpenGLRenderer *ren)
| Perform FXAA on the current render buffer in ren. More...
void | ReleaseGraphicsResources ()
| Release all OpenGL state. More...
void | UpdateConfiguration (vtkFXAAOptions *opts)
| Copy the configuration values from opts into this filter. More...
virtual void | SetRelativeContrastThreshold (float)
| Parameter for tuning the FXAA implementation. More...
virtual float | GetRelativeContrastThreshold ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetHardContrastThreshold (float)
| Parameter for tuning the FXAA implementation. More...
virtual float | GetHardContrastThreshold ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetSubpixelBlendLimit (float)
| Parameter for tuning the FXAA implementation. More...
virtual float | GetSubpixelBlendLimit ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetSubpixelContrastThreshold (float)
| Parameter for tuning the FXAA implementation. More...
virtual float | GetSubpixelContrastThreshold ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetUseHighQualityEndpoints (bool val)
| Parameter for tuning the FXAA implementation. More...
virtual bool | GetUseHighQualityEndpoints ()
| Parameter for tuning the FXAA implementation. More...
virtual void | UseHighQualityEndpointsOn ()
| Parameter for tuning the FXAA implementation. More...
virtual void | UseHighQualityEndpointsOff ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetEndpointSearchIterations (int)
| Parameter for tuning the FXAA implementation. More...
virtual int | GetEndpointSearchIterations ()
| Parameter for tuning the FXAA implementation. More...
virtual void | SetDebugOptionValue (vtkFXAAOptions::DebugOption opt)
| Parameter for tuning the FXAA implementation. More...
virtual vtkFXAAOptions::DebugOption | GetDebugOptionValue ()
| Parameter for tuning the FXAA implementation. More...
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 ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
vtkTypeBool | InvokeEvent (unsigned long event)
vtkTypeBool | InvokeEvent (const char *event)
std::string | GetObjectDescription () const override
| The object description printed in messages and PrintSelf output. More...
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...
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | 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...
vtkTypeBool | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
vtkTypeBool | InvokeEvent (const char *event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
virtual void | SetObjectName (const std::string &objectName)
| Set/get the name of this object for reporting purposes. More...
virtual std::string | GetObjectName () const
| Set/get the name of this object for reporting purposes. More...
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). 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...
bool | GetIsInMemkind () const
| A local state flag that remembers whether this object lives in the normal or extended memory space. 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...
virtual bool | UsesGarbageCollector () const
| Indicate whether the class uses `vtkGarbageCollector` or not. More...

## Static Public Member Functions
static vtkOpenGLFXAAFilter * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkOpenGLFXAAFilter * | 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 (vtkTypeBool 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 vtkTypeBool | 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 vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | SetMemkindDirectory (const char *directoryname)
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
static bool | GetUsingMemkind ()
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More...

## Protected Member Functions
virtual vtkObjectBase * | NewInstanceInternal () const
| vtkOpenGLFXAAFilter ()
| ~vtkOpenGLFXAAFilter () override
void | Prepare ()
void | FreeGLObjects ()
void | CreateGLObjects ()
void | LoadInput ()
void | ApplyFilter ()
void | SubstituteFragmentShader (std::string &fragShader)
void | Finalize ()
void | StartTimeQuery (vtkOpenGLRenderTimer *timer)
void | EndTimeQuery (vtkOpenGLRenderTimer *timer)
void | PrintBenchmark ()
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=nullptr)
| 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 | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Protected Attributes
bool | BlendState
bool | DepthTestState
int | Viewport [4]
vtkOpenGLRenderTimer * | PreparationTimer
vtkOpenGLRenderTimer * | FXAATimer
float | RelativeContrastThreshold
float | HardContrastThreshold
float | SubpixelBlendLimit
float | SubpixelContrastThreshold
int | EndpointSearchIterations
bool | UseHighQualityEndpoints
vtkFXAAOptions::DebugOption | DebugOptionValue
bool | NeedToRebuildShader
vtkOpenGLRenderer * | Renderer
vtkTextureObject * | Input
vtkOpenGLQuadHelper * | QHelper
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
std::string | ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Additional Inherited Members
Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction | GetCurrentMallocFunction ()
static vtkReallocingFunction | GetCurrentReallocFunction ()
static vtkFreeingFunction | GetCurrentFreeFunction ()
static vtkFreeingFunction | GetAlternateFreeFunction ()

## Detailed Description

Perform FXAA antialiasing on the current framebuffer.

Call Execute() to run a FXAA antialiasing pass on the current OpenGL framebuffer. See method documentation for tunable parameters.

Based on the following implementation and description:

Whitepaper: http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf

Sample implementation: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h

TODO there are currently some "banding" artifacts on some edges, particularly single pixel lines. These seem to be caused by using a linear RGB input, rather than a gamma-correct sRGB input. Future work should combine this pass with a gamma correction pass to correct this. Bonus points for precomputing luminosity into the sRGB's alpha channel to save cycles in the FXAA shader!

Definition at line 45 of file vtkOpenGLFXAAFilter.h.

## Member Typedef Documentation

## ◆ Superclass

typedef vtkObject vtkOpenGLFXAAFilter::Superclass

Definition at line 49 of file vtkOpenGLFXAAFilter.h.

## Constructor & Destructor Documentation

## ◆ vtkOpenGLFXAAFilter()

vtkOpenGLFXAAFilter::vtkOpenGLFXAAFilter | ( |  | ) |
| protected

## ◆ ~vtkOpenGLFXAAFilter()

vtkOpenGLFXAAFilter::~vtkOpenGLFXAAFilter | ( |  | ) |
| overrideprotected

## Member Function Documentation

## ◆ New()

static vtkOpenGLFXAAFilter* vtkOpenGLFXAAFilter::New | ( |  | ) |
| static

## ◆ IsTypeOf()

static vtkTypeBool vtkOpenGLFXAAFilter::IsTypeOf | ( | const char * | type | ) |
| static

## ◆ IsA()

virtual vtkTypeBool vtkOpenGLFXAAFilter::IsA | ( | const char * | name | ) |
| 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 vtkObjectBase.

## ◆ SafeDownCast()

static vtkOpenGLFXAAFilter* vtkOpenGLFXAAFilter::SafeDownCast | ( | vtkObjectBase * | o | ) |
| static

## ◆ NewInstanceInternal()

virtual vtkObjectBase* vtkOpenGLFXAAFilter::NewInstanceInternal | ( |  | ) | const
| protectedvirtual

## ◆ NewInstance()

vtkOpenGLFXAAFilter* vtkOpenGLFXAAFilter::NewInstance | ( |  | ) | const

## ◆ PrintSelf()

void vtkOpenGLFXAAFilter::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) |  |
| overridevirtual

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 vtkObject.

## ◆ Execute()

void vtkOpenGLFXAAFilter::Execute | ( | vtkOpenGLRenderer * | ren | ) |

Perform FXAA on the current render buffer in ren.

## ◆ ReleaseGraphicsResources()

void vtkOpenGLFXAAFilter::ReleaseGraphicsResources | ( |  | ) |

Release all OpenGL state.

## ◆ UpdateConfiguration()

void vtkOpenGLFXAAFilter::UpdateConfiguration | ( | vtkFXAAOptions * | opts | ) |

Copy the configuration values from opts into this filter.

Note that this copies the configuration values from opts – it does not save the opts pointer.

## ◆ SetRelativeContrastThreshold()

virtual void vtkOpenGLFXAAFilter::SetRelativeContrastThreshold | ( | float |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetRelativeContrastThreshold()

virtual float vtkOpenGLFXAAFilter::GetRelativeContrastThreshold | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetHardContrastThreshold()

virtual void vtkOpenGLFXAAFilter::SetHardContrastThreshold | ( | float |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetHardContrastThreshold()

virtual float vtkOpenGLFXAAFilter::GetHardContrastThreshold | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetSubpixelBlendLimit()

virtual void vtkOpenGLFXAAFilter::SetSubpixelBlendLimit | ( | float |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetSubpixelBlendLimit()

virtual float vtkOpenGLFXAAFilter::GetSubpixelBlendLimit | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetSubpixelContrastThreshold()

virtual void vtkOpenGLFXAAFilter::SetSubpixelContrastThreshold | ( | float |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetSubpixelContrastThreshold()

virtual float vtkOpenGLFXAAFilter::GetSubpixelContrastThreshold | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetUseHighQualityEndpoints()

virtual void vtkOpenGLFXAAFilter::SetUseHighQualityEndpoints | ( | bool | val | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetUseHighQualityEndpoints()

virtual bool vtkOpenGLFXAAFilter::GetUseHighQualityEndpoints | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ UseHighQualityEndpointsOn()

virtual void vtkOpenGLFXAAFilter::UseHighQualityEndpointsOn | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ UseHighQualityEndpointsOff()

virtual void vtkOpenGLFXAAFilter::UseHighQualityEndpointsOff | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetEndpointSearchIterations()

virtual void vtkOpenGLFXAAFilter::SetEndpointSearchIterations | ( | int |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetEndpointSearchIterations()

virtual int vtkOpenGLFXAAFilter::GetEndpointSearchIterations | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ SetDebugOptionValue()

virtual void vtkOpenGLFXAAFilter::SetDebugOptionValue | ( | vtkFXAAOptions::DebugOption | opt | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ GetDebugOptionValue()

virtual vtkFXAAOptions::DebugOption vtkOpenGLFXAAFilter::GetDebugOptionValue | ( |  | ) |
| virtual

Parameter for tuning the FXAA implementation.

See vtkFXAAOptions for details and suggested values.

## ◆ Prepare()

void vtkOpenGLFXAAFilter::Prepare | ( |  | ) |
| protected

## ◆ FreeGLObjects()

void vtkOpenGLFXAAFilter::FreeGLObjects | ( |  | ) |
| protected

## ◆ CreateGLObjects()

void vtkOpenGLFXAAFilter::CreateGLObjects | ( |  | ) |
| protected

## ◆ LoadInput()

void vtkOpenGLFXAAFilter::LoadInput | ( |  | ) |
| protected

## ◆ ApplyFilter()

void vtkOpenGLFXAAFilter::ApplyFilter | ( |  | ) |
| protected

## ◆ SubstituteFragmentShader()

void vtkOpenGLFXAAFilter::SubstituteFragmentShader | ( | std::string & | fragShader | ) |
| protected

## ◆ Finalize()

void vtkOpenGLFXAAFilter::Finalize | ( |  | ) |
| protected

## ◆ StartTimeQuery()

void vtkOpenGLFXAAFilter::StartTimeQuery | ( | vtkOpenGLRenderTimer * | timer | ) |
| protected

## ◆ EndTimeQuery()

void vtkOpenGLFXAAFilter::EndTimeQuery | ( | vtkOpenGLRenderTimer * | timer | ) |
| protected

## ◆ PrintBenchmark()

void vtkOpenGLFXAAFilter::PrintBenchmark | ( |  | ) |
| protected

## Member Data Documentation

## ◆ BlendState

bool vtkOpenGLFXAAFilter::BlendState
| protected

Definition at line 108 of file vtkOpenGLFXAAFilter.h.

## ◆ DepthTestState

bool vtkOpenGLFXAAFilter::DepthTestState
| protected

Definition at line 109 of file vtkOpenGLFXAAFilter.h.

## ◆ Viewport

int vtkOpenGLFXAAFilter::Viewport[4]
| protected

Definition at line 111 of file vtkOpenGLFXAAFilter.h.

## ◆ PreparationTimer

vtkOpenGLRenderTimer* vtkOpenGLFXAAFilter::PreparationTimer
| protected

Definition at line 114 of file vtkOpenGLFXAAFilter.h.

## ◆ FXAATimer

vtkOpenGLRenderTimer* vtkOpenGLFXAAFilter::FXAATimer
| protected

Definition at line 115 of file vtkOpenGLFXAAFilter.h.

## ◆ RelativeContrastThreshold

float vtkOpenGLFXAAFilter::RelativeContrastThreshold
| protected

Definition at line 118 of file vtkOpenGLFXAAFilter.h.

## ◆ HardContrastThreshold

float vtkOpenGLFXAAFilter::HardContrastThreshold
| protected

Definition at line 119 of file vtkOpenGLFXAAFilter.h.

## ◆ SubpixelBlendLimit

float vtkOpenGLFXAAFilter::SubpixelBlendLimit
| protected

Definition at line 120 of file vtkOpenGLFXAAFilter.h.

## ◆ SubpixelContrastThreshold

float vtkOpenGLFXAAFilter::SubpixelContrastThreshold
| protected

Definition at line 121 of file vtkOpenGLFXAAFilter.h.

## ◆ EndpointSearchIterations

int vtkOpenGLFXAAFilter::EndpointSearchIterations
| protected

Definition at line 122 of file vtkOpenGLFXAAFilter.h.

## ◆ UseHighQualityEndpoints

bool vtkOpenGLFXAAFilter::UseHighQualityEndpoints
| protected

Definition at line 124 of file vtkOpenGLFXAAFilter.h.

## ◆ DebugOptionValue

vtkFXAAOptions::DebugOption vtkOpenGLFXAAFilter::DebugOptionValue
| protected

Definition at line 125 of file vtkOpenGLFXAAFilter.h.

## ◆ NeedToRebuildShader

bool vtkOpenGLFXAAFilter::NeedToRebuildShader
| protected

Definition at line 128 of file vtkOpenGLFXAAFilter.h.

## ◆ Renderer

vtkOpenGLRenderer* vtkOpenGLFXAAFilter::Renderer
| protected

Definition at line 130 of file vtkOpenGLFXAAFilter.h.

## ◆ Input

vtkTextureObject* vtkOpenGLFXAAFilter::Input
| protected

Definition at line 131 of file vtkOpenGLFXAAFilter.h.

## ◆ QHelper

vtkOpenGLQuadHelper* vtkOpenGLFXAAFilter::QHelper
| protected

Definition at line 133 of file vtkOpenGLFXAAFilter.h.

The documentation for this class was generated from the following file:

- Rendering/OpenGL2/vtkOpenGLFXAAFilter.h