VTK
9.7.0
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Rendering
OpenGL2
vtkHexagonalBokehBlurPass.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-FileCopyrightText: Copyright 2025 F3D-APP Foundation
3
// SPDX-License-Identifier: BSD-3-Clause
14
15
#ifndef vtkHexagonalBokehBlurPass_h
16
#define vtkHexagonalBokehBlurPass_h
17
18
#include "
vtkImageProcessingPass.h
"
19
#include "
vtkOpenGLQuadHelper.h
"
20
#include "
vtkSmartPointer.h
"
21
22
class
vtkTextureObject
;
23
class
vtkOpenGLFrameBuffer;
24
25
VTK_ABI_NAMESPACE_BEGIN
26
27
class
VTKRENDERINGOPENGL2_EXPORT
VTK_MARSHALAUTO
vtkHexagonalBokehBlurPass
28
:
public
vtkImageProcessingPass
29
{
30
public
:
31
static
vtkHexagonalBokehBlurPass
*
New
();
32
vtkTypeMacro(
vtkHexagonalBokehBlurPass
,
vtkImageProcessingPass
);
33
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
34
38
void
Render
(
const
vtkRenderState
* s)
override
;
39
43
void
ReleaseGraphicsResources
(
vtkWindow
* w)
override
;
44
46
52
vtkGetMacro(CircleOfConfusionRadius,
float
);
53
vtkSetMacro(CircleOfConfusionRadius,
float
);
55
56
protected
:
57
vtkHexagonalBokehBlurPass
() =
default
;
58
~vtkHexagonalBokehBlurPass
()
override
=
default
;
59
60
private
:
61
vtkHexagonalBokehBlurPass
(
const
vtkHexagonalBokehBlurPass
&) =
delete
;
62
void
operator=(
const
vtkHexagonalBokehBlurPass
&) =
delete
;
63
67
void
InitializeGraphicsResources(
vtkOpenGLRenderWindow
* renderWindow,
int
width,
int
height);
68
72
void
RenderDelegate(
const
vtkRenderState
* s,
int
width,
int
height);
73
77
void
RenderDirectionalBlur(
vtkOpenGLRenderWindow
* renWin,
int
width,
int
height,
float
coc);
78
82
void
RenderRhomboidBlur(
vtkOpenGLRenderWindow
* renWin,
int
width,
int
height,
float
coc);
83
84
float
CircleOfConfusionRadius = 20.0f;
85
86
vtkSmartPointer<vtkOpenGLFramebufferObject>
FrameBufferObject;
87
vtkSmartPointer<vtkTextureObject>
VerticalBlurTexture;
88
vtkSmartPointer<vtkTextureObject>
DiagonalBlurTexture;
89
vtkSmartPointer<vtkTextureObject>
BackgroundTexture;
90
91
std::unique_ptr<vtkOpenGLQuadHelper> BlurQuadHelper =
nullptr
;
92
std::unique_ptr<vtkOpenGLQuadHelper> RhomboidQuadHelper =
nullptr
;
93
};
94
95
VTK_ABI_NAMESPACE_END
96
97
#endif
// vtkHexagonalBokehBlurPass_h
vtkHexagonalBokehBlurPass::Render
void Render(const vtkRenderState *s) override
Entry point of the rendering execution for this render pass.
vtkHexagonalBokehBlurPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHexagonalBokehBlurPass::vtkHexagonalBokehBlurPass
vtkHexagonalBokehBlurPass()=default
vtkHexagonalBokehBlurPass::New
static vtkHexagonalBokehBlurPass * New()
vtkHexagonalBokehBlurPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources held by the render pass.
vtkHexagonalBokehBlurPass::~vtkHexagonalBokehBlurPass
~vtkHexagonalBokehBlurPass() override=default
vtkImageProcessingPass::vtkImageProcessingPass
vtkImageProcessingPass()
Default constructor.
vtkIndent
a simple class to control print indentation
Definition
vtkIndent.h:29
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition
vtkOpenGLRenderWindow.h:47
vtkRenderState
Context in which a vtkRenderPass will render.
Definition
vtkRenderState.h:30
vtkSmartPointer
Hold a reference to a vtkObjectBase instance.
Definition
vtkSmartPointer.h:32
vtkTextureObject
In case DepthTextureCompare is true, specify the comparison function in use.
Definition
vtkTextureObject.h:34
vtkWindow
window superclass for vtkRenderWindow
Definition
vtkWindow.h:42
vtkImageProcessingPass.h
vtkOpenGLQuadHelper.h
vtkSmartPointer.h
VTK_MARSHALAUTO
#define VTK_MARSHALAUTO
Definition
vtkWrappingHints.h:75
Generated on
for VTK by
1.18.0