VTK: Rendering/OpenGL2/vtkFramebufferPass.h Source File

| VTK 9.3.1

vtkFramebufferPass.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
14 #ifndef vtkFramebufferPass_h
15 #define vtkFramebufferPass_h
16
17 #include "vtkDepthImageProcessingPass.h"
18 #include "vtkRenderingOpenGL2Module.h" // For export macro
19
20 VTK_ABI_NAMESPACE_BEGIN
21 class vtkOpenGLFramebufferObject;
22 class vtkOpenGLHelper;
23 class vtkOpenGLRenderWindow;
24 class vtkTextureObject;
25
26 class VTKRENDERINGOPENGL2_EXPORT vtkFramebufferPass : public vtkDepthImageProcessingPass
27 {
28 public:
29 static vtkFramebufferPass* New();
30 vtkTypeMacro(vtkFramebufferPass, vtkDepthImageProcessingPass);
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
37 void Render(const vtkRenderState* s) override;
38
44 void ReleaseGraphicsResources(vtkWindow* w) override;
45
50 vtkSetMacro(DepthFormat, int);
51
58 vtkSetMacro(ColorFormat, int);
59
60 // Get the depth texture object
61 vtkGetObjectMacro(DepthTexture, vtkTextureObject);
62
63 // Get the Color texture object
64 vtkGetObjectMacro(ColorTexture, vtkTextureObject);
65
66 protected:
70 vtkFramebufferPass();
71
75 ~vtkFramebufferPass() override;
76
80 vtkOpenGLFramebufferObject* FrameBufferObject;
81 vtkTextureObject* ColorTexture; // render target for the scene
82 vtkTextureObject* DepthTexture; // render target for the depth
83
85
88 int ViewportX;
89 int ViewportY;
90 int ViewportWidth;
91 int ViewportHeight;
93
94 int DepthFormat;
95 int ColorFormat;
96
97 private:
98 vtkFramebufferPass(const vtkFramebufferPass&) = delete;
99 void operator=(const vtkFramebufferPass&) = delete;
100 };
101
102 VTK_ABI_NAMESPACE_END
103 #endif
vtkDepthImageProcessingPass
Convenient class for post-processing passes.
Definition: vtkDepthImageProcessingPass.h:36
vtkFramebufferPass
Render into a FO.
Definition: vtkFramebufferPass.h:27
vtkFramebufferPass::ViewportY
int ViewportY
Cache viewport values for depth peeling.
Definition: vtkFramebufferPass.h:89
vtkFramebufferPass::~vtkFramebufferPass
~vtkFramebufferPass() override
Destructor.
vtkFramebufferPass::New
static vtkFramebufferPass * New()
vtkFramebufferPass::ViewportX
int ViewportX
Cache viewport values for depth peeling.
Definition: vtkFramebufferPass.h:88
vtkFramebufferPass::FrameBufferObject
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
Definition: vtkFramebufferPass.h:80
vtkFramebufferPass::Render
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
vtkFramebufferPass::DepthTexture
vtkTextureObject * DepthTexture
Definition: vtkFramebufferPass.h:82
vtkFramebufferPass::vtkFramebufferPass
vtkFramebufferPass()
Default constructor.
vtkFramebufferPass::DepthFormat
int DepthFormat
Definition: vtkFramebufferPass.h:94
vtkFramebufferPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkFramebufferPass::ViewportWidth
int ViewportWidth
Cache viewport values for depth peeling.
Definition: vtkFramebufferPass.h:90
vtkFramebufferPass::ViewportHeight
int ViewportHeight
Cache viewport values for depth peeling.
Definition: vtkFramebufferPass.h:91
vtkFramebufferPass::ColorFormat
int ColorFormat
Definition: vtkFramebufferPass.h:95
vtkFramebufferPass::ColorTexture
vtkTextureObject * ColorTexture
Definition: vtkFramebufferPass.h:81
vtkFramebufferPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
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