vtkPVSynchronizedRenderer.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
17 #ifndef vtkPVSynchronizedRenderer_h
18 #define vtkPVSynchronizedRenderer_h
19 
20 #include "vtkObject.h"
21 #include "vtkRemotingViewsModule.h" //needed for exports
22 
23 class vtkFXAAOptions;
26 class vtkOpenGLRenderer;
28 class vtkIndependentViewerCollection;
29 class vtkPVSession;
30 class vtkRenderPass;
31 class vtkRenderer;
33 
35 {
36 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
42 
47  vtkSetMacro(DisableIceT, bool);
48  vtkGetMacro(DisableIceT, bool);
50 
56  void Initialize(vtkPVSession* session);
57 
63  void SetOrderedCompositingHelper(vtkOrderedCompositingHelper* helper);
64 
68  void SetRenderer(vtkRenderer*);
69 
70  void SetIndependentViewers(vtkIndependentViewerCollection* viewers);
71 
73 
76  virtual void SetEnabled(bool enabled);
77  vtkGetMacro(Enabled, bool);
78  vtkBooleanMacro(Enabled, bool);
80 
82 
86  void SetImageReductionFactor(int);
87  vtkGetMacro(ImageReductionFactor, int);
89 
91 
96  void SetDataReplicatedOnAllProcesses(bool);
97  vtkGetMacro(DataReplicatedOnAllProcesses, bool);
98  vtkBooleanMacro(DataReplicatedOnAllProcesses, bool);
100 
102 
105  void SetImageProcessingPass(vtkImageProcessingPass*);
106  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
108 
110 
117  void SetRenderPass(vtkRenderPass*);
118  vtkGetObjectMacro(RenderPass, vtkRenderPass);
120 
122 
129  void ConfigureCompressor(const char* configuration);
130  void SetLossLessCompression(bool);
132 
136  void SetUseDepthBuffer(bool);
137 
141  void SetRenderEmptyImages(bool);
142 
146  void SetNVPipeSupport(bool);
147 
149 
152  void SetEnableRayTracing(bool val);
153  vtkGetMacro(EnableRayTracing, bool);
154  void SetEnablePathTracing(bool val);
155  vtkGetMacro(EnablePathTracing, bool);
157 
159 
170  vtkGetObjectMacro(ParallelSynchronizer, vtkSynchronizedRenderers);
171  vtkGetObjectMacro(CSSynchronizer, vtkSynchronizedRenderers);
173 
175 
178  virtual void SetUseFXAA(bool use);
179  vtkGetMacro(UseFXAA, bool);
181 
183 
186  vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
187  virtual void SetFXAAOptions(vtkFXAAOptions*);
189 
190 protected:
192  ~vtkPVSynchronizedRenderer() override;
193 
199  virtual void SetupPasses();
200 
205 
206  bool Enabled;
210 
214 
217 
218  bool UseFXAA = false;
219  vtkFXAAOptions* FXAAOptions = nullptr;
220 
221 private:
223  void operator=(const vtkPVSynchronizedRenderer&) = delete;
224 
229  void UpdateFixBackgroundState();
230  bool InTileDisplayMode;
231  bool InCAVEMode;
232 };
233 
234 #endif
vtkSynchronizedRenderers subclass that uses IceT for parallel rendering and compositing.
coordinates rendering between corresponding renderers across multiple processes
#define VTKREMOTINGVIEWS_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkSynchronizedRenderers * ParallelSynchronizer
extends vtkSession to add API for ParaView sessions.
Definition: vtkPVSession.h:23
vtkSynchronizedRenderers * CSSynchronizer
static vtkObject * New()
vtkImageProcessingPass * ImageProcessingPass
void operator=(const vtkObjectBase &)
helper to assist in determine process order when rendering