VTK  9.3.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 
30 VTK_ABI_NAMESPACE_BEGIN
31 class vtkSequencePass;
32 class vtkCameraPass;
33 
34 class VTKRENDERINGOPENGL2_EXPORT vtkRenderStepsPass : public vtkRenderPass
35 {
36 public:
37  static vtkRenderStepsPass* New();
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
45  void Render(const vtkRenderState* s) override;
46 
52  void ReleaseGraphicsResources(vtkWindow* w) override;
53 
55 
58  vtkGetObjectMacro(CameraPass, vtkCameraPass);
59  void SetCameraPass(vtkCameraPass*);
61 
63 
66  vtkGetObjectMacro(LightsPass, vtkRenderPass);
67  void SetLightsPass(vtkRenderPass*);
69 
71 
74  vtkGetObjectMacro(OpaquePass, vtkRenderPass);
75  void SetOpaquePass(vtkRenderPass*);
77 
79 
82  vtkGetObjectMacro(TranslucentPass, vtkRenderPass);
83  void SetTranslucentPass(vtkRenderPass*);
85 
87 
90  vtkGetObjectMacro(VolumetricPass, vtkRenderPass);
91  void SetVolumetricPass(vtkRenderPass*);
93 
95 
98  vtkGetObjectMacro(OverlayPass, vtkRenderPass);
99  void SetOverlayPass(vtkRenderPass*);
101 
103 
106  vtkGetObjectMacro(PostProcessPass, vtkRenderPass);
107  void SetPostProcessPass(vtkRenderPass*);
109 
110 protected:
112  ~vtkRenderStepsPass() override;
113 
122 
123 private:
124  vtkRenderStepsPass(const vtkRenderStepsPass&) = delete;
125  void operator=(const vtkRenderStepsPass&) = delete;
126 };
127 
128 VTK_ABI_NAMESPACE_END
129 #endif
vtkRenderPass * OpaquePass
Execute render passes sequentially.
vtkRenderPass * PostProcessPass
vtkSequencePass * SequencePass
Implement the camera render pass.
Definition: vtkCameraPass.h:30
window superclass for vtkRenderWindow
Definition: vtkWindow.h:27
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
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:48
vtkCameraPass * CameraPass
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.