VTK  9.7.1
vtkRenderStepsPass.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
24 #ifndef vtkRenderStepsPass_h
25 #define vtkRenderStepsPass_h
26 
27 #include "vtkRenderPass.h"
28 #include "vtkRenderingOpenGL2Module.h" // For export macro
29 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
30 
31 VTK_ABI_NAMESPACE_BEGIN
32 class vtkSequencePass;
33 class vtkCameraPass;
34 
35 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkRenderStepsPass : public vtkRenderPass
36 {
37 public:
38  static vtkRenderStepsPass* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
46  void Render(const vtkRenderState* s) override;
47 
53  void ReleaseGraphicsResources(vtkWindow* w) override;
54 
56 
59  vtkGetObjectMacro(CameraPass, vtkCameraPass);
60  void SetCameraPass(vtkCameraPass*);
62 
64 
67  vtkGetObjectMacro(LightsPass, vtkRenderPass);
68  void SetLightsPass(vtkRenderPass*);
70 
72 
75  vtkGetObjectMacro(OpaquePass, vtkRenderPass);
76  void SetOpaquePass(vtkRenderPass*);
78 
80 
83  vtkGetObjectMacro(TranslucentPass, vtkRenderPass);
84  void SetTranslucentPass(vtkRenderPass*);
86 
88 
91  vtkGetObjectMacro(VolumetricPass, vtkRenderPass);
92  void SetVolumetricPass(vtkRenderPass*);
94 
96 
99  vtkGetObjectMacro(OverlayPass, vtkRenderPass);
100  void SetOverlayPass(vtkRenderPass*);
102 
104 
107  vtkGetObjectMacro(PostProcessPass, vtkRenderPass);
108  void SetPostProcessPass(vtkRenderPass*);
110 
111 protected:
113  ~vtkRenderStepsPass() override;
114 
123 
124 private:
125  vtkRenderStepsPass(const vtkRenderStepsPass&) = delete;
126  void operator=(const vtkRenderStepsPass&) = delete;
127 };
128 
129 VTK_ABI_NAMESPACE_END
130 #endif
vtkRenderPass * OpaquePass
Execute render passes sequentially.
vtkRenderPass * PostProcessPass
vtkSequencePass * SequencePass
Implement the camera render pass.
Definition: vtkCameraPass.h:31
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
Context in which a vtkRenderPass will render.
vtkRenderPass * VolumetricPass
a simple class to control print indentation
Definition: vtkIndent.h:28
vtkRenderPass * OverlayPass
vtkRenderPass * TranslucentPass
Execute render passes sequentially.
virtual void Render(const vtkRenderState *s)=0
Perform rendering according to a render state s.
virtual void ReleaseGraphicsResources(vtkWindow *w)
Release graphics resources and ask components to release their own resources.
vtkRenderPass * LightsPass
#define VTK_MARSHALAUTO
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Perform part of the rendering of a vtkRenderer.
Definition: vtkRenderPass.h:49
vtkCameraPass * CameraPass
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.