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 vtkPVSession;
29 class vtkRenderPass;
30 class vtkRenderer;
32 
34 {
35 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
41 
46  vtkSetMacro(DisableIceT, bool);
47  vtkGetMacro(DisableIceT, bool);
49 
55  void Initialize(vtkPVSession* session);
56 
62  void SetOrderedCompositingHelper(vtkOrderedCompositingHelper* helper);
63 
67  void SetRenderer(vtkRenderer*);
68 
70 
73  virtual void SetEnabled(bool enabled);
74  vtkGetMacro(Enabled, bool);
75  vtkBooleanMacro(Enabled, bool);
77 
79 
83  void SetImageReductionFactor(int);
84  vtkGetMacro(ImageReductionFactor, int);
86 
88 
93  void SetDataReplicatedOnAllProcesses(bool);
94  vtkGetMacro(DataReplicatedOnAllProcesses, bool);
95  vtkBooleanMacro(DataReplicatedOnAllProcesses, bool);
97 
99 
102  void SetImageProcessingPass(vtkImageProcessingPass*);
103  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
105 
107 
114  void SetRenderPass(vtkRenderPass*);
115  vtkGetObjectMacro(RenderPass, vtkRenderPass);
117 
119 
126  void ConfigureCompressor(const char* configuration);
127  void SetLossLessCompression(bool);
129 
133  void SetUseDepthBuffer(bool);
134 
138  void SetRenderEmptyImages(bool);
139 
143  void SetNVPipeSupport(bool);
144 
146 
149  void SetEnableRayTracing(bool val);
150  vtkGetMacro(EnableRayTracing, bool);
151  void SetEnablePathTracing(bool val);
152  vtkGetMacro(EnablePathTracing, bool);
154 
156 
167  vtkGetObjectMacro(ParallelSynchronizer, vtkSynchronizedRenderers);
168  vtkGetObjectMacro(CSSynchronizer, vtkSynchronizedRenderers);
170 
172 
175  virtual void SetUseFXAA(bool use);
176  vtkGetMacro(UseFXAA, bool);
178 
180 
183  vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
184  virtual void SetFXAAOptions(vtkFXAAOptions*);
186 
187 protected:
189  ~vtkPVSynchronizedRenderer() override;
190 
196  virtual void SetupPasses();
197 
202 
203  bool Enabled;
207 
211 
214 
215  bool UseFXAA = false;
216  vtkFXAAOptions* FXAAOptions = nullptr;
217 
218 private:
220  void operator=(const vtkPVSynchronizedRenderer&) = delete;
221 
226  void UpdateFixBackgroundState();
227  bool InTileDisplayMode;
228  bool InCAVEMode;
229 };
230 
231 #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