VTK  9.5.20250810
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
18#include "vtkRenderingOpenGL2Module.h" // For export macro
19#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
20
21VTK_ABI_NAMESPACE_BEGIN
23class vtkOpenGLHelper;
26
27class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkFramebufferPass
29{
30public:
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
39 void Render(const vtkRenderState* s) override;
40
47
52 vtkSetMacro(DepthFormat, int);
53 vtkGetMacro(DepthFormat, int);
54
61 vtkSetMacro(ColorFormat, int);
62 vtkGetMacro(ColorFormat, int);
63
64 // Get the depth texture object
65 vtkGetObjectMacro(DepthTexture, vtkTextureObject);
66
67 // Get the Color texture object
68 vtkGetObjectMacro(ColorTexture, vtkTextureObject);
69
70protected:
75
80
85 vtkTextureObject* ColorTexture; // render target for the scene
86 vtkTextureObject* DepthTexture; // render target for the depth
87
89
97
100
101private:
102 vtkFramebufferPass(const vtkFramebufferPass&) = delete;
103 void operator=(const vtkFramebufferPass&) = delete;
104};
105
106VTK_ABI_NAMESPACE_END
107#endif
Convenient class for post-processing passes.
Render into a FO.
int ViewportY
Cache viewport values for depth peeling.
~vtkFramebufferPass() override
Destructor.
int ViewportX
Cache viewport values for depth peeling.
static vtkFramebufferPass * New()
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
vtkTextureObject * DepthTexture
vtkFramebufferPass()
Default constructor.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ViewportWidth
Cache viewport values for depth peeling.
int ViewportHeight
Cache viewport values for depth peeling.
vtkTextureObject * ColorTexture
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
a simple class to control print indentation
Definition vtkIndent.h:108
Internal class which encapsulates OpenGL FramebufferObject.
OpenGL rendering window.
Context in which a vtkRenderPass will render.
abstracts an OpenGL texture object.
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
#define VTK_MARSHALAUTO