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 vtkImageProcessingPass Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
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 (vtkObject *o)

Protected Member Functions

 vtkGaussianBlurPass ()
virtual ~vtkGaussianBlurPass ()

Protected Attributes

bool Supported
bool SupportProbed
vtkFrameBufferObjectFrameBufferObject
vtkTextureObjectPass1
vtkTextureObjectPass2
vtkShaderProgram2BlurProgram

Member Typedef Documentation

Reimplemented from vtkImageProcessingPass.

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

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.

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

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.

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

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

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.

Definition at line 97 of file vtkGaussianBlurPass.h.

Definition at line 98 of file vtkGaussianBlurPass.h.


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

Generated on Mon Sep 27 18:24:40 2010 for VTK by  doxygen 1.5.6