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) |
virtual vtkRenderPass * | GetDelegatePass () |
virtual void | SetDelegatePass (vtkRenderPass *delegatePass) |
virtual int | GetNumberOfRenderedProps () |
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 () |
Protected Member Functions |
| vtkGaussianBlurPass () |
virtual | ~vtkGaussianBlurPass () |
| vtkImageProcessingPass () |
virtual | ~vtkImageProcessingPass () |
void | RenderDelegate (const vtkRenderState *s, int width, int height, int newWidth, int newHeight, vtkFrameBufferObject *fbo, vtkTextureObject *target) |
| vtkRenderPass () |
virtual | ~vtkRenderPass () |
void | UpdateCamera (vtkRenderer *renderer) |
void | ClearLights (vtkRenderer *renderer) |
void | UpdateLightGeometry (vtkRenderer *renderer) |
void | UpdateLights (vtkRenderer *renderer) |
void | UpdateGeometry (vtkRenderer *renderer) |
void | SetLastRenderingUsedDepthPeeling (vtkRenderer *renderer, bool value) |
| 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 &) |
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.