VTK
dox
Rendering
OpenGL
vtkGaussianBlurPass.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkGaussianBlurPass.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
49
#ifndef vtkGaussianBlurPass_h
50
#define vtkGaussianBlurPass_h
51
52
#include "vtkRenderingOpenGLModule.h"
// For export macro
53
#include "
vtkImageProcessingPass.h
"
54
55
class
vtkOpenGLRenderWindow
;
56
class
vtkDepthPeelingPassLayerList;
// Pimpl
57
class
vtkShaderProgram2
;
58
class
vtkShader2
;
59
class
vtkFrameBufferObject
;
60
class
vtkTextureObject
;
61
62
class
VTKRENDERINGOPENGL_EXPORT
vtkGaussianBlurPass
:
public
vtkImageProcessingPass
63
{
64
public
:
65
static
vtkGaussianBlurPass
*
New
();
66
vtkTypeMacro(
vtkGaussianBlurPass
,
vtkImageProcessingPass
);
67
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
68
73
void
Render
(
const
vtkRenderState
*s)
override
;
74
80
void
ReleaseGraphicsResources
(
vtkWindow
*w)
override
;
81
82
protected
:
86
vtkGaussianBlurPass
();
87
91
~
vtkGaussianBlurPass
()
override
;
92
96
vtkFrameBufferObject
*
FrameBufferObject
;
97
vtkTextureObject
*
Pass1
;
// render target for the scene
98
vtkTextureObject
*
Pass2
;
// render target for the horizontal pass
99
vtkShaderProgram2
*
BlurProgram
;
// blur shader
100
101
bool
Supported
;
102
bool
SupportProbed
;
103
104
private
:
105
vtkGaussianBlurPass
(
const
vtkGaussianBlurPass
&) =
delete
;
106
void
operator=(
const
vtkGaussianBlurPass
&) =
delete
;
107
};
108
109
#endif
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition:
vtkOpenGLRenderWindow.h:38
vtkShader2
GLSL Shader.
Definition:
vtkShader2.h:62
vtkGaussianBlurPass::SupportProbed
bool SupportProbed
Definition:
vtkGaussianBlurPass.h:102
vtkGaussianBlurPass::Supported
bool Supported
Definition:
vtkGaussianBlurPass.h:101
vtkGaussianBlurPass::BlurProgram
vtkShaderProgram2 * BlurProgram
Definition:
vtkGaussianBlurPass.h:99
vtkImageProcessingPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
vtkImageProcessingPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageProcessingPass
Convenient class for post-processing passes.
Definition:
vtkImageProcessingPass.h:40
vtkWindow
window superclass for vtkRenderWindow
Definition:
vtkWindow.h:37
vtkRenderState
Context in which a vtkRenderPass will render.
Definition:
vtkRenderState.h:40
vtkShaderProgram2
GLSL Program.
Definition:
vtkShaderProgram2.h:68
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkGaussianBlurPass::Pass1
vtkTextureObject * Pass1
Definition:
vtkGaussianBlurPass.h:97
vtkFrameBufferObject
internal class which encapsulates OpenGL frame buffer object.
Definition:
vtkFrameBufferObject.h:46
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:40
vtkRenderPass::Render
virtual void Render(const vtkRenderState *s)=0
Perform rendering according to a render state s.
vtkGaussianBlurPass::FrameBufferObject
vtkFrameBufferObject * FrameBufferObject
Graphics resources.
Definition:
vtkGaussianBlurPass.h:96
vtkGaussianBlurPass::Pass2
vtkTextureObject * Pass2
Definition:
vtkGaussianBlurPass.h:98
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkGaussianBlurPass
Implement a post-processing Gaussian blur render pass.
Definition:
vtkGaussianBlurPass.h:62
vtkImageProcessingPass.h
Generated by
1.8.15