vtkPVSynchronizedRenderer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVSynchronizedRenderer.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef vtkPVSynchronizedRenderer_h
30 #define vtkPVSynchronizedRenderer_h
31 
32 #include "vtkObject.h"
33 #include "vtkRemotingViewsModule.h" //needed for exports
34 
35 class vtkFXAAOptions;
38 class vtkOpenGLRenderer;
40 class vtkPVSession;
41 class vtkRenderPass;
42 class vtkRenderer;
44 
46 {
47 public:
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
58  vtkSetMacro(DisableIceT, bool);
59  vtkGetMacro(DisableIceT, bool);
61 
67  void Initialize(vtkPVSession* session);
68 
74  void SetOrderedCompositingHelper(vtkOrderedCompositingHelper* helper);
75 
79  void SetRenderer(vtkRenderer*);
80 
82 
85  virtual void SetEnabled(bool enabled);
86  vtkGetMacro(Enabled, bool);
87  vtkBooleanMacro(Enabled, bool);
89 
91 
95  void SetImageReductionFactor(int);
96  vtkGetMacro(ImageReductionFactor, int);
98 
100 
105  void SetDataReplicatedOnAllProcesses(bool);
106  vtkGetMacro(DataReplicatedOnAllProcesses, bool);
107  vtkBooleanMacro(DataReplicatedOnAllProcesses, bool);
109 
111 
114  void SetImageProcessingPass(vtkImageProcessingPass*);
115  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
117 
119 
126  void SetRenderPass(vtkRenderPass*);
127  vtkGetObjectMacro(RenderPass, vtkRenderPass);
129 
131 
138  void ConfigureCompressor(const char* configuration);
139  void SetLossLessCompression(bool);
141 
145  void SetUseDepthBuffer(bool);
146 
150  void SetRenderEmptyImages(bool);
151 
155  void SetNVPipeSupport(bool);
156 
158 
161  void SetEnableRayTracing(bool val);
162  vtkGetMacro(EnableRayTracing, bool);
163  void SetEnablePathTracing(bool val);
164  vtkGetMacro(EnablePathTracing, bool);
166 
168 
179  vtkGetObjectMacro(ParallelSynchronizer, vtkSynchronizedRenderers);
180  vtkGetObjectMacro(CSSynchronizer, vtkSynchronizedRenderers);
182 
184 
187  virtual void SetUseFXAA(bool use);
188  vtkGetMacro(UseFXAA, bool);
190 
191  //@
195  vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
196  virtual void SetFXAAOptions(vtkFXAAOptions*);
198 
199 protected:
201  ~vtkPVSynchronizedRenderer() override;
202 
208  virtual void SetupPasses();
209 
214 
215  bool Enabled;
219 
223 
226 
227  bool UseFXAA = false;
228  vtkFXAAOptions* FXAAOptions = nullptr;
229 
230 private:
232  void operator=(const vtkPVSynchronizedRenderer&) = delete;
233 
238  void UpdateFixBackgroundState();
239  bool InTileDisplayMode;
240  bool InCAVEMode;
241 };
242 
243 #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:35
vtkSynchronizedRenderers * CSSynchronizer
static vtkObject * New()
vtkImageProcessingPass * ImageProcessingPass
void operator=(const vtkObjectBase &)
helper to assist in determine process order when rendering