VTK
9.3.20240419
Rendering
OpenGL2
vtkSobelGradientMagnitudePass.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-License-Identifier: BSD-3-Clause
51
#ifndef vtkSobelGradientMagnitudePass_h
52
#define vtkSobelGradientMagnitudePass_h
53
54
#include "
vtkImageProcessingPass.h
"
55
#include "vtkRenderingOpenGL2Module.h"
// For export macro
56
57
VTK_ABI_NAMESPACE_BEGIN
58
class
vtkDepthPeelingPassLayerList;
// Pimpl
59
class
vtkOpenGLFramebufferObject
;
60
class
vtkOpenGLHelper
;
61
class
vtkOpenGLRenderWindow
;
62
class
vtkTextureObject
;
63
64
class
VTKRENDERINGOPENGL2_EXPORT
vtkSobelGradientMagnitudePass
:
public
vtkImageProcessingPass
65
{
66
public
:
67
static
vtkSobelGradientMagnitudePass
*
New
();
68
vtkTypeMacro(
vtkSobelGradientMagnitudePass
,
vtkImageProcessingPass
);
69
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
70
75
void
Render
(
const
vtkRenderState
* s)
override
;
76
82
void
ReleaseGraphicsResources
(
vtkWindow
* w)
override
;
83
84
protected
:
88
vtkSobelGradientMagnitudePass
();
89
93
~vtkSobelGradientMagnitudePass
()
override
;
94
98
vtkOpenGLFramebufferObject
*
FrameBufferObject
;
99
vtkTextureObject
*
Pass1
;
// render target for the scene
100
vtkTextureObject
*
Gx1
;
// render target 0 for the first shader
101
vtkTextureObject
*
Gy1
;
// render target 1 for the first shader
102
103
// Structures for the various cell types we render.
104
vtkOpenGLHelper
*
Program1
;
// shader to compute Gx1 and Gy1
105
vtkOpenGLHelper
*
Program2
;
// shader to compute |G| from Gx1 and Gy1
106
107
private
:
108
vtkSobelGradientMagnitudePass
(
const
vtkSobelGradientMagnitudePass
&) =
delete
;
109
void
operator=(
const
vtkSobelGradientMagnitudePass
&) =
delete
;
110
};
111
112
VTK_ABI_NAMESPACE_END
113
#endif
vtkImageProcessingPass
Convenient class for post-processing passes.
Definition:
vtkImageProcessingPass.h:28
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:108
vtkOpenGLFramebufferObject
Internal class which encapsulates OpenGL FramebufferObject.
Definition:
vtkOpenGLFramebufferObject.h:174
vtkOpenGLHelper
Definition:
vtkOpenGLHelper.h:21
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition:
vtkOpenGLRenderWindow.h:64
vtkRenderState
Context in which a vtkRenderPass will render.
Definition:
vtkRenderState.h:30
vtkSobelGradientMagnitudePass
Implement a post-processing edge detection with a Sobel gradient magnitude render pass.
Definition:
vtkSobelGradientMagnitudePass.h:65
vtkSobelGradientMagnitudePass::Program2
vtkOpenGLHelper * Program2
Definition:
vtkSobelGradientMagnitudePass.h:105
vtkSobelGradientMagnitudePass::vtkSobelGradientMagnitudePass
vtkSobelGradientMagnitudePass()
Default constructor.
vtkSobelGradientMagnitudePass::Render
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
vtkSobelGradientMagnitudePass::Program1
vtkOpenGLHelper * Program1
Definition:
vtkSobelGradientMagnitudePass.h:104
vtkSobelGradientMagnitudePass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
vtkSobelGradientMagnitudePass::New
static vtkSobelGradientMagnitudePass * New()
vtkSobelGradientMagnitudePass::FrameBufferObject
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
Definition:
vtkSobelGradientMagnitudePass.h:98
vtkSobelGradientMagnitudePass::~vtkSobelGradientMagnitudePass
~vtkSobelGradientMagnitudePass() override
Destructor.
vtkSobelGradientMagnitudePass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSobelGradientMagnitudePass::Gx1
vtkTextureObject * Gx1
Definition:
vtkSobelGradientMagnitudePass.h:100
vtkSobelGradientMagnitudePass::Gy1
vtkTextureObject * Gy1
Definition:
vtkSobelGradientMagnitudePass.h:101
vtkSobelGradientMagnitudePass::Pass1
vtkTextureObject * Pass1
Definition:
vtkSobelGradientMagnitudePass.h:99
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:33
vtkWindow
window superclass for vtkRenderWindow
Definition:
vtkWindow.h:48
vtkImageProcessingPass.h
Generated on Fri Apr 19 2024 10:38:16 for VTK by
1.9.1