vtkGaussianBlurPass Class Reference

#include <vtkGaussianBlurPass.h>

Inheritance diagram for vtkGaussianBlurPass:

Inheritance graph
[legend]
Collaboration diagram for vtkGaussianBlurPass:

Collaboration graph
[legend]

List of all members.


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 63 of file vtkGaussianBlurPass.h.


Public Types

typedef vtkRenderPass Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void Render (const vtkRenderState *s)
void ReleaseGraphicsResources (vtkWindow *w)
virtual vtkRenderPassGetDelegatePass ()
virtual void SetDelegatePass (vtkRenderPass *delegatePass)

Static Public Member Functions

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

Protected Member Functions

 vtkGaussianBlurPass ()
virtual ~vtkGaussianBlurPass ()

Protected Attributes

vtkRenderPassDelegatePass
vtkFrameBufferObjectFrameBufferObject
vtkTextureObjectPass1
vtkTextureObjectPass2
vtkShaderProgram2BlurProgram

Member Typedef Documentation

Reimplemented from vtkRenderPass.

Definition at line 67 of file vtkGaussianBlurPass.h.


Constructor & Destructor Documentation

vtkGaussianBlurPass::vtkGaussianBlurPass (  )  [protected]

Default constructor. DelegatePass is set to NULL.

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

Destructor.


Member Function Documentation

static vtkGaussianBlurPass* vtkGaussianBlurPass::New (  )  [static]

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

Reimplemented from vtkObject.

virtual const char* vtkGaussianBlurPass::GetClassName (  )  [virtual]

Reimplemented from vtkRenderPass.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkRenderPass.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkRenderPass.

static vtkGaussianBlurPass* vtkGaussianBlurPass::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkRenderPass.

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

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

Perform rendering according to a render state s.

Precondition:
s_exists: s!=0

Implements vtkRenderPass.

void vtkGaussianBlurPass::ReleaseGraphicsResources ( vtkWindow w  )  [virtual]

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

Precondition:
w_exists: w!=0

Reimplemented from vtkRenderPass.

virtual vtkRenderPass* vtkGaussianBlurPass::GetDelegatePass (  )  [virtual]

Delegate for rendering the image to be blurred. If it is NULL, nothing will be rendered and a warning will be emitted. It is usually set to a vtkCameraPass or to a post-processing pass. Initial value is a NULL pointer.

virtual void vtkGaussianBlurPass::SetDelegatePass ( vtkRenderPass delegatePass  )  [virtual]

Delegate for rendering the image to be blurred. If it is NULL, nothing will be rendered and a warning will be emitted. It is usually set to a vtkCameraPass or to a post-processing pass. Initial value is a NULL pointer.


Member Data Documentation

Definition at line 94 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 98 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 99 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 100 of file vtkGaussianBlurPass.h.

Graphics resources.

Definition at line 101 of file vtkGaussianBlurPass.h.


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

Generated on Wed Jun 3 19:03:46 2009 for VTK by  doxygen 1.5.6