VTK: Rendering/OpenGL2/vtkDepthOfFieldPass.h Source File

| VTK 9.3.1

vtkDepthOfFieldPass.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
28 #ifndef vtkDepthOfFieldPass_h
29 #define vtkDepthOfFieldPass_h
30
31 #include "vtkDepthImageProcessingPass.h"
32 #include "vtkRenderingOpenGL2Module.h" // For export macro
33
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkDepthPeelingPassLayerList; // Pimpl
36 class vtkOpenGLFramebufferObject;
37 class vtkOpenGLHelper;
38 class vtkOpenGLRenderWindow;
39 class vtkTextureObject;
40
41 class VTKRENDERINGOPENGL2_EXPORT vtkDepthOfFieldPass : public vtkDepthImageProcessingPass
42 {
43 public:
44 static vtkDepthOfFieldPass* New();
45 vtkTypeMacro(vtkDepthOfFieldPass, vtkDepthImageProcessingPass);
46 void PrintSelf(ostream& os, vtkIndent indent) override;
47
49
54 vtkSetMacro(AutomaticFocalDistance, bool);
55 vtkGetMacro(AutomaticFocalDistance, bool);
56 vtkBooleanMacro(AutomaticFocalDistance, bool);
58
63 void Render(const vtkRenderState* s) override;
64
70 void ReleaseGraphicsResources(vtkWindow* w) override;
71
72 protected:
76 vtkDepthOfFieldPass();
77
81 ~vtkDepthOfFieldPass() override;
82
86 vtkOpenGLFramebufferObject* FrameBufferObject;
87 vtkTextureObject* Pass1; // render target for the scene
88 vtkTextureObject* Pass1Depth; // render target for the depth
89
90 // Structures for the various cell types we render.
91 vtkOpenGLHelper* BlurProgram;
92
93 bool AutomaticFocalDistance;
94
95 private:
96 vtkDepthOfFieldPass(const vtkDepthOfFieldPass&) = delete;
97 void operator=(const vtkDepthOfFieldPass&) = delete;
98 };
99
100 VTK_ABI_NAMESPACE_END
101 #endif
vtkDepthImageProcessingPass
Convenient class for post-processing passes.
Definition: vtkDepthImageProcessingPass.h:36
vtkDepthOfFieldPass
Implement a post-processing DOF blur pass.
Definition: vtkDepthOfFieldPass.h:42
vtkDepthOfFieldPass::Pass1
vtkTextureObject * Pass1
Definition: vtkDepthOfFieldPass.h:87
vtkDepthOfFieldPass::BlurProgram
vtkOpenGLHelper * BlurProgram
Definition: vtkDepthOfFieldPass.h:91
vtkDepthOfFieldPass::vtkDepthOfFieldPass
vtkDepthOfFieldPass()
Default constructor.
vtkDepthOfFieldPass::Pass1Depth
vtkTextureObject * Pass1Depth
Definition: vtkDepthOfFieldPass.h:88
vtkDepthOfFieldPass::AutomaticFocalDistance
bool AutomaticFocalDistance
Definition: vtkDepthOfFieldPass.h:93
vtkDepthOfFieldPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
vtkDepthOfFieldPass::New
static vtkDepthOfFieldPass * New()
vtkDepthOfFieldPass::FrameBufferObject
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
Definition: vtkDepthOfFieldPass.h:86
vtkDepthOfFieldPass::~vtkDepthOfFieldPass
~vtkDepthOfFieldPass() override
Destructor.
vtkDepthOfFieldPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDepthOfFieldPass::Render
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkOpenGLFramebufferObject
Internal class which encapsulates OpenGL FramebufferObject.
Definition: vtkOpenGLFramebufferObject.h:174
vtkOpenGLHelper
Definition: vtkOpenGLHelper.h:21
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:53
vtkRenderState
Context in which a vtkRenderPass will render.
Definition: vtkRenderState.h:30
vtkTextureObject
abstracts an OpenGL texture object.
Definition: vtkTextureObject.h:33
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkDepthImageProcessingPass.h