VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkGaussianBlurPass Class Reference

Implement a post-processing Gaussian blur render pass. More...

#include <vtkGaussianBlurPass.h>

Inheritance diagram for vtkGaussianBlurPass:
Inheritance graph
[legend]
Collaboration diagram for vtkGaussianBlurPass:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkImageProcessingPass Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkGaussianBlurPassNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void ReleaseGraphicsResources (vtkWindow *w)
virtual void Render (const vtkRenderState *s)

Static Public Member Functions

static vtkGaussianBlurPassNew ()
static int IsTypeOf (const char *type)
static vtkGaussianBlurPassSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkGaussianBlurPass ()
virtual ~vtkGaussianBlurPass ()

Protected Attributes

bool Supported
bool SupportProbed
vtkFrameBufferObjectFrameBufferObject
vtkTextureObjectPass1
vtkTextureObjectPass2
vtkShaderProgram2BlurProgram

Detailed Description

Implement a post-processing Gaussian blur render pass.

Blur the image renderered by its delegate. Blurring uses a Gaussian low-pass filter with a 5x5 kernel.

This pass expects an initialized depth buffer and color buffer. Initialized buffers means they have been cleared with farest z-value and background color/gradient/transparent color. An opaque pass may have been performed right after the initialization.

The delegate is used once.

Its delegate is usually set to a vtkCameraPass or to a post-processing pass.

This pass requires a OpenGL context that supports texture objects (TO), framebuffer objects (FBO) and GLSL. If not, it will emit an error message and will render its delegate and return.

Implementation:
As the filter is separable, it first blurs the image horizontally and then vertically. This reduces the number of texture sampling to 5 per pass. In addition, as texture sampling can already blend texel values in linear mode, by adjusting the texture coordinate accordingly, only 3 texture sampling are actually necessary. Reference: OpenGL Bloom Toturial by Philip Rideout, section Exploit Hardware Filtering http://prideout.net/bloom/index.php#Sneaky
See also:
vtkRenderPass
Tests:
vtkGaussianBlurPass (Tests)

Definition at line 64 of file vtkGaussianBlurPass.h.


Member Typedef Documentation

Reimplemented from vtkImageProcessingPass.

Definition at line 68 of file vtkGaussianBlurPass.h.


Constructor & Destructor Documentation

Default constructor. DelegatePass is set to NULL.

virtual vtkGaussianBlurPass::~vtkGaussianBlurPass ( ) [protected, virtual]

Destructor.


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkGaussianBlurPass::IsTypeOf ( const char *  name) [static]

Return 1 if this class type 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 vtkImageProcessingPass.

virtual int vtkGaussianBlurPass::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 vtkImageProcessingPass.

Reimplemented from vtkImageProcessingPass.

virtual vtkObjectBase* vtkGaussianBlurPass::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkImageProcessingPass.

Reimplemented from vtkImageProcessingPass.

void vtkGaussianBlurPass::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [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 vtkImageProcessingPass.

virtual void vtkGaussianBlurPass::Render ( const vtkRenderState s) [virtual]

Perform rendering according to a render state s.

Precondition:
s_exists: s!=0

Implements vtkRenderPass.

Release graphics resources and ask components to release their own resources.

Precondition:
w_exists: w!=0

Reimplemented from vtkImageProcessingPass.


Member Data Documentation

Graphics resources.

Definition at line 92 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 93 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 94 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 95 of file vtkGaussianBlurPass.h.

Definition at line 98 of file vtkGaussianBlurPass.h.

Definition at line 99 of file vtkGaussianBlurPass.h.


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