VTK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
home
demarle
Builds
VTK
release
Utilities
Doxygen
dox
Rendering
OpenGL2
vtkSobelGradientMagnitudePass.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkSobelGradientMagnitudePass.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
=========================================================================*/
63
#ifndef vtkSobelGradientMagnitudePass_h
64
#define vtkSobelGradientMagnitudePass_h
65
66
#include "vtkRenderingOpenGL2Module.h"
// For export macro
67
#include "
vtkImageProcessingPass.h
"
68
69
class
vtkDepthPeelingPassLayerList;
// Pimpl
70
class
vtkFrameBufferObject
;
71
class
vtkOpenGLHelper
;
72
class
vtkOpenGLRenderWindow
;
73
class
vtkTextureObject
;
74
75
76
class
VTKRENDERINGOPENGL2_EXPORT
vtkSobelGradientMagnitudePass
:
public
vtkImageProcessingPass
77
{
78
public
:
79
static
vtkSobelGradientMagnitudePass
*
New
();
80
vtkTypeMacro(
vtkSobelGradientMagnitudePass
,
vtkImageProcessingPass
);
81
void
PrintSelf
(ostream& os,
vtkIndent
indent);
82
87
virtual
void
Render
(
const
vtkRenderState
*s);
88
94
void
ReleaseGraphicsResources
(
vtkWindow
*w);
95
96
protected
:
100
vtkSobelGradientMagnitudePass
();
101
105
virtual
~
vtkSobelGradientMagnitudePass
();
106
110
vtkFrameBufferObject
*FrameBufferObject;
111
vtkTextureObject
*Pass1;
// render target for the scene
112
vtkTextureObject
*Gx1;
// render target 0 for the first shader
113
vtkTextureObject
*Gy1;
// render target 1 for the first shader
114
115
// Structures for the various cell types we render.
116
vtkOpenGLHelper
*
Program1
;
// shader to compute Gx1 and Gy1
117
vtkOpenGLHelper
*
Program2
;
// shader to compute |G| from Gx1 and Gy1
118
119
private
:
120
vtkSobelGradientMagnitudePass
(
const
vtkSobelGradientMagnitudePass
&) VTK_DELETE_FUNCTION;
121
void
operator=(const
vtkSobelGradientMagnitudePass
&) VTK_DELETE_FUNCTION;
122
};
123
124
#endif
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition:
vtkOpenGLRenderWindow.h:38
vtkSobelGradientMagnitudePass::Program2
vtkOpenGLHelper * Program2
Definition:
vtkSobelGradientMagnitudePass.h:117
vtkImageProcessingPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w)
Release graphics resources and ask components to release their own resources.
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
vtkSobelGradientMagnitudePass
Implement a post-processing edge detection with a Sobel gradient magnitude render pass...
Definition:
vtkSobelGradientMagnitudePass.h:73
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
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.
vtkOpenGLHelper
Definition:
vtkOpenGLHelper.h:30
vtkSobelGradientMagnitudePass::Program1
vtkOpenGLHelper * Program1
Definition:
vtkSobelGradientMagnitudePass.h:116
vtkImageProcessingPass.h
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkImageProcessingPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
Generated by
1.8.9.1