VTK  9.1.0
vtkOSPRayRendererNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOSPRayRendererNode.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
22 #ifndef vtkOSPRayRendererNode_h
23 #define vtkOSPRayRendererNode_h
24 
25 #include "RTWrapper/RTWrapper.h" // for handle types
26 #include "vtkOSPRayCache.h" // For common cache infrastructure
27 #include "vtkRendererNode.h"
28 #include "vtkRenderingRayTracingModule.h" // For export macro
29 
30 #include <vector> // for ivars
31 
32 #ifdef VTKOSPRAY_ENABLE_DENOISER
33 #include <OpenImageDenoise/oidn.hpp> // for denoiser structures
34 #endif
35 
41 class vtkMatrix4x4;
42 class vtkOSPRayRendererNodeInternals;
44 class vtkRenderer;
45 
46 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayRendererNode : public vtkRendererNode
47 {
48 public:
51  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
56  void Build(bool prepass) override;
57 
61  void Render(bool prepass) override;
62 
66  void Invalidate(bool prepass) override;
67 
71  virtual void WriteLayer(unsigned char* buffer, float* zbuffer, int buffx, int buffy, int layer);
72 
73  // state beyond rendering core...
74 
81 
83 
86  static void SetSamplesPerPixel(int, vtkRenderer* renderer);
87  static int GetSamplesPerPixel(vtkRenderer* renderer);
89 
96 
98 
101  static void SetMaxContribution(double, vtkRenderer* renderer);
102  static double GetMaxContribution(vtkRenderer* renderer);
104 
110 
112 
115  static void SetMaxDepth(int, vtkRenderer* renderer);
116  static int GetMaxDepth(vtkRenderer* renderer);
118 
125 
127 
130  static void SetMinContribution(double, vtkRenderer* renderer);
131  static double GetMinContribution(vtkRenderer* renderer);
133 
140 
142 
145  static void SetRouletteDepth(int, vtkRenderer* renderer);
146  static int GetRouletteDepth(vtkRenderer* renderer);
148 
155 
157 
160  static void SetVolumeAnisotropy(double, vtkRenderer* renderer);
161  static double GetVolumeAnisotropy(vtkRenderer* renderer);
163 
169 
171 
174  static void SetVarianceThreshold(double, vtkRenderer* renderer);
175  static double GetVarianceThreshold(vtkRenderer* renderer);
177 
179 
185  static void SetMaxFrames(int, vtkRenderer* renderer);
186  static int GetMaxFrames(vtkRenderer* renderer);
188 
190 
195  static void SetRendererType(std::string name, vtkRenderer* renderer);
198 
206 
209  static void SetAmbientSamples(int, vtkRenderer* renderer);
210  static int GetAmbientSamples(vtkRenderer* renderer);
212 
219 
222  static void SetCompositeOnGL(int, vtkRenderer* renderer);
223  static int GetCompositeOnGL(vtkRenderer* renderer);
225 
231 
234  static void SetNorthPole(double*, vtkRenderer* renderer);
235  static double* GetNorthPole(vtkRenderer* renderer);
237 
243 
246  static void SetEastPole(double*, vtkRenderer* renderer);
247  static double* GetEastPole(vtkRenderer* renderer);
249 
254 
256 
262 
268 
271  static void SetViewTime(double, vtkRenderer* renderer);
272  static double GetViewTime(vtkRenderer* renderer);
274 
280 
283  static void SetTimeCacheSize(int, vtkRenderer* renderer);
284  static int GetTimeCacheSize(vtkRenderer* renderer);
286 
290  OSPRenderer GetORenderer() { return this->ORenderer; }
291  void AddLight(OSPLight light) { this->Lights.push_back(light); }
292 
296  virtual void* GetBuffer() { return this->Buffer.data(); }
297 
301  virtual float* GetZBuffer() { return this->ZBuffer.data(); }
302 
303  // Get the last renderer color buffer as an OpenGL texture.
304  virtual int GetColorBufferTextureGL() { return this->ColorBufferTex; }
305 
306  // Get the last renderer depth buffer as an OpenGL texture.
307  virtual int GetDepthBufferTextureGL() { return this->DepthBufferTex; }
308 
309  // if you want to traverse your children in a specific order
310  // or way override this method
311  void Traverse(int operation) override;
312 
319 
325 
328  static void SetDenoiserThreshold(int, vtkRenderer* renderer);
329  static int GetDenoiserThreshold(vtkRenderer* renderer);
331 
333 
340  static void SetEnableDenoiser(int, vtkRenderer* renderer);
341  static int GetEnableDenoiser(vtkRenderer* renderer);
343 
345  {
350  NumberOfMode
351  };
352 
354 
365 
366  std::vector<OSPGeometricModel> GeometricModels;
367  std::vector<OSPVolumetricModel> VolumetricModels;
368  std::vector<OSPInstance> Instances;
369 
370 protected:
373 
377  void Denoise();
378 
379  // internal structures
380  std::vector<float> Buffer;
381  std::vector<float> ZBuffer;
382 
385 
386  OSPWorld OWorld{ nullptr };
387  OSPRenderer ORenderer{ nullptr };
388  OSPFrameBuffer OFrameBuffer{ nullptr };
389  OSPCamera OCamera{ nullptr };
390  int ImageX, ImageY;
391  std::vector<OSPLight> Lights;
396  bool UseBackplate{ true }; // use bgcolor for pathtracer or use bgcolor light
397  std::vector<float> ODepthBuffer;
402  vtkOSPRayRendererNodeInternals* Internal;
404 
405 #ifdef VTKOSPRAY_ENABLE_DENOISER
406  oidn::DeviceRef DenoiserDevice;
407  oidn::FilterRef DenoiserFilter;
408 #endif
409  bool DenoiserDirty{ true };
410  std::vector<osp::vec4f> ColorBuffer;
411  std::vector<osp::vec3f> NormalBuffer;
412  std::vector<osp::vec3f> AlbedoBuffer;
413  std::vector<osp::vec4f> DenoisedBuffer;
414 
416  std::set<OSPWorld> CacheContents;
417 
418 private:
420  void operator=(const vtkOSPRayRendererNode&) = delete;
421 };
422 
423 #endif
vtkOSPRayRendererNode::ImageY
int ImageY
Definition: vtkOSPRayRendererNode.h:390
vtkOSPRayRendererNode::ENABLE_DENOISER
static vtkInformationIntegerKey * ENABLE_DENOISER()
Enable denoising (if supported).
vtkOSPRayRendererNode
links vtkRenderers to OSPRay
Definition: vtkOSPRayRendererNode.h:47
vtkOSPRayRendererNode::GetZBuffer
virtual float * GetZBuffer()
Get the last rendered ZBuffer.
Definition: vtkOSPRayRendererNode.h:301
OSPLight
#define OSPLight
Definition: RTWrapper.h:22
vtkOSPRayRendererNode::GetDepthBufferTextureGL
virtual int GetDepthBufferTextureGL()
Definition: vtkOSPRayRendererNode.h:307
vtkOSPRayRendererNode::MAX_DEPTH
static vtkInformationIntegerKey * MAX_DEPTH()
When present on renderer, controls the maximum ray recursion depth default is 20.
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:34
vtkOSPRayRendererNode::GetRenderer
vtkRenderer * GetRenderer()
vtkOSPRayRendererNode::Instances
std::vector< OSPInstance > Instances
Definition: vtkOSPRayRendererNode.h:368
vtkOSPRayRendererNode::SetVarianceThreshold
static void SetVarianceThreshold(double, vtkRenderer *renderer)
Convenience method to set/get VARIANCE_THRESHOLD on a vtkRenderer.
vtkOSPRayRendererNode::ZBuffer
std::vector< float > ZBuffer
Definition: vtkOSPRayRendererNode.h:381
vtkOSPRayRendererNode::PreviousType
std::string PreviousType
Definition: vtkOSPRayRendererNode.h:403
vtkOSPRayRendererNode::COMPOSITE_ON_GL
static vtkInformationIntegerKey * COMPOSITE_ON_GL()
used to make the renderer add ospray's content onto GL rendered content on the window
vtkOSPRayRendererNode::Both
@ Both
Definition: vtkOSPRayRendererNode.h:349
vtkOSPRayRendererNode::SetTimeCacheSize
static void SetTimeCacheSize(int, vtkRenderer *renderer)
Convenience method to set/get TIME_CACHE_SIZE on a vtkRenderer.
vtkOSPRayRendererNode::SetBackgroundMode
static void SetBackgroundMode(BackgroundMode, vtkRenderer *renderer)
Control use of the path tracer backplate and environmental background.
vtkOSPRayRendererNode::Environment
@ Environment
Definition: vtkOSPRayRendererNode.h:348
vtkOSPRayRendererNode::SetEnableDenoiser
static void SetEnableDenoiser(int, vtkRenderer *renderer)
Convenience method to set/get ENABLE_DENOISER on a vtkRenderer.
vtkOSPRayRendererNode::GetMinContribution
static double GetMinContribution(vtkRenderer *renderer)
Convenience method to set/get MIN_CONTRIBUTION on a vtkRenderer.
vtkOSPRayRendererNode::GetDenoiserThreshold
static int GetDenoiserThreshold(vtkRenderer *renderer)
Convenience method to set/get DENOISER_THRESHOLD on a vtkRenderer.
vtkOSPRayRendererNode::GetEastPole
static double * GetEastPole(vtkRenderer *renderer)
Convenience method to set/get EAST_POLE on a vtkRenderer.
vtkOSPRayRendererNode::Build
void Build(bool prepass) override
Builds myself.
vtkOSPRayRendererNode::Cache
vtkOSPRayCache< vtkOSPRayCacheItemObject > * Cache
Definition: vtkOSPRayRendererNode.h:415
vtkOSPRayRendererNode::SetMinContribution
static void SetMinContribution(double, vtkRenderer *renderer)
Convenience method to set/get MIN_CONTRIBUTION on a vtkRenderer.
vtkOSPRayRendererNode::MATERIAL_LIBRARY
static vtkInformationObjectBaseKey * MATERIAL_LIBRARY()
Material Library attached to the renderer.
vtkOSPRayRendererNode::RENDERER_TYPE
static vtkInformationStringKey * RENDERER_TYPE()
Set the OSPRay renderer type to use (e.g.
vtkOSPRayRendererNode::TIME_CACHE_SIZE
static vtkInformationIntegerKey * TIME_CACHE_SIZE()
Temporal cache size.
vtkOSPRayRendererNode::GetMaterialLibrary
static vtkOSPRayMaterialLibrary * GetMaterialLibrary(vtkRenderer *renderer)
Convenience method to set/get Material library on a renderer.
vtkOSPRayRendererNode::VOLUME_ANISOTROPY
static vtkInformationDoubleKey * VOLUME_ANISOTROPY()
When present on renderer, affects path traced rendering phase function.
vtkOSPRayRendererNode::GetViewTime
static double GetViewTime(vtkRenderer *renderer)
Convenience method to set/get VIEW_TIME on a vtkRenderer.
vtkInformationDoubleKey
Key for double values in vtkInformation.
Definition: vtkInformationDoubleKey.h:32
vtkOSPRayRendererNode::ColorBuffer
std::vector< osp::vec4f > ColorBuffer
Definition: vtkOSPRayRendererNode.h:410
OSPFrameBuffer
#define OSPFrameBuffer
Definition: RTWrapper.h:28
vtkOSPRayRendererNode::SetMaterialLibrary
static void SetMaterialLibrary(vtkOSPRayMaterialLibrary *, vtkRenderer *renderer)
Convenience method to set/get Material library on a renderer.
vtkOSPRayRendererNode::Buffer
std::vector< float > Buffer
Definition: vtkOSPRayRendererNode.h:380
vtkOSPRayRendererNode::GetBackgroundMode
static BackgroundMode GetBackgroundMode(vtkRenderer *renderer)
Control use of the path tracer backplate and environmental background.
vtkOSPRayRendererNode::Backplate
@ Backplate
Definition: vtkOSPRayRendererNode.h:347
vtkOSPRayRendererNode::Traverse
void Traverse(int operation) override
vtkOSPRayRendererNode::SetMaxFrames
static void SetMaxFrames(int, vtkRenderer *renderer)
When present on renderer, controls the number of ospray render calls for each refresh.
vtkOSPRayRendererNode::SetMaxDepth
static void SetMaxDepth(int, vtkRenderer *renderer)
Convenience method to set/get MAX_DEPTH on a vtkRenderer.
vtkOSPRayRendererNode::GetMaxDepth
static int GetMaxDepth(vtkRenderer *renderer)
Convenience method to set/get MAX_DEPTH on a vtkRenderer.
vtkOSPRayRendererNode::WriteLayer
virtual void WriteLayer(unsigned char *buffer, float *zbuffer, int buffx, int buffy, int layer)
Put my results into the correct place in the provided pixel buffer.
vtkOSPRayRendererNode::BackgroundMode
BackgroundMode
Definition: vtkOSPRayRendererNode.h:345
vtkOSPRayRendererNode::VolumetricModels
std::vector< OSPVolumetricModel > VolumetricModels
Definition: vtkOSPRayRendererNode.h:367
vtkOSPRayRendererNode::MIN_CONTRIBUTION
static vtkInformationDoubleKey * MIN_CONTRIBUTION()
When present on renderer, sample contributions below this value will be neglected to speedup renderin...
vtkOSPRayRendererNode::SetAmbientSamples
static void SetAmbientSamples(int, vtkRenderer *renderer)
Convenience method to set/get AMBIENT_SAMPLES on a vtkRenderer.
vtkOSPRayRendererNode::Render
void Render(bool prepass) override
Traverse graph in ospray's preferred order and render.
vtkOSPRayRendererNode::Internal
vtkOSPRayRendererNodeInternals * Internal
Definition: vtkOSPRayRendererNode.h:402
vtkOSPRayRendererNode::SAMPLES_PER_PIXEL
static vtkInformationIntegerKey * SAMPLES_PER_PIXEL()
When present on renderer, controls the number of primary rays shot per pixel default is 1.
vtkOSPRayRendererNode::New
static vtkOSPRayRendererNode * New()
vtkOSPRayRendererNode::SetNorthPole
static void SetNorthPole(double *, vtkRenderer *renderer)
Convenience method to set/get NORTH_POLE on a vtkRenderer.
vtkOSPRayRendererNode::EAST_POLE
static vtkInformationDoubleVectorKey * EAST_POLE()
World space direction of east pole for texture background.
vtkInformationObjectBaseKey
Key for vtkObjectBase values.
Definition: vtkInformationObjectBaseKey.h:34
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:32
vtkOSPRayRendererNode::DENOISER_THRESHOLD
static vtkInformationIntegerKey * DENOISER_THRESHOLD()
Accumulation threshold when above which denoising kicks in.
vtkOSPRayRendererNode::GetVarianceThreshold
static double GetVarianceThreshold(vtkRenderer *renderer)
Convenience method to set/get VARIANCE_THRESHOLD on a vtkRenderer.
vtkOSPRayRendererNode::GetRouletteDepth
static int GetRouletteDepth(vtkRenderer *renderer)
Convenience method to set/get ROULETTE_DEPTH on a vtkRenderer.
RTWrapper.h
vtkOSPRayRendererNode::GetTimeCacheSize
static int GetTimeCacheSize(vtkRenderer *renderer)
Convenience method to set/get TIME_CACHE_SIZE on a vtkRenderer.
vtkOSPRayRendererNode::Lights
std::vector< OSPLight > Lights
Definition: vtkOSPRayRendererNode.h:391
vtkOSPRayRendererNode::GetBackend
RTW::Backend * GetBackend()
vtkOSPRayRendererNode::SetVolumeAnisotropy
static void SetVolumeAnisotropy(double, vtkRenderer *renderer)
Convenience method to set/get VOLUME_ANISOTROPY on a vtkRenderer.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:145
vtkOSPRayMaterialLibrary
a collection of materials for vtk apps to draw from
Definition: vtkOSPRayMaterialLibrary.h:42
vtkOSPRayRendererNode::ROULETTE_DEPTH
static vtkInformationIntegerKey * ROULETTE_DEPTH()
When present on renderer, controls the ray recursion depth at which to start Russian roulette termina...
vtkOSPRayRendererNode::GetCompositeOnGL
static int GetCompositeOnGL(vtkRenderer *renderer)
Convenience method to set/get COMPOSITE_ON_GL on a vtkRenderer.
vtkOSPRayRendererNode::DenoisedBuffer
std::vector< osp::vec4f > DenoisedBuffer
Definition: vtkOSPRayRendererNode.h:413
OSPWorld
#define OSPWorld
Definition: RTWrapper.h:17
vtkOSPRayRendererNode::CompositeOnGL
bool CompositeOnGL
Definition: vtkOSPRayRendererNode.h:395
vtkOSPRayRendererNode::ColorBufferTex
int ColorBufferTex
Definition: vtkOSPRayRendererNode.h:383
OSPCamera
#define OSPCamera
Definition: RTWrapper.h:21
vtkOSPRayRendererNode::CacheContents
std::set< OSPWorld > CacheContents
Definition: vtkOSPRayRendererNode.h:416
vtkOSPRayRendererNode::GetVolumeAnisotropy
static double GetVolumeAnisotropy(vtkRenderer *renderer)
Convenience method to set/get VOLUME_ANISOTROPY on a vtkRenderer.
vtkOSPRayRendererNode::GetMaxFrames
static int GetMaxFrames(vtkRenderer *renderer)
When present on renderer, controls the number of ospray render calls for each refresh.
vtkViewNode
a node within a VTK scene graph
Definition: vtkViewNode.h:39
vtkOSPRayRendererNode::ActorCount
int ActorCount
Definition: vtkOSPRayRendererNode.h:399
vtkOSPRayRendererNode::SetViewTime
static void SetViewTime(double, vtkRenderer *renderer)
Convenience method to set/get VIEW_TIME on a vtkRenderer.
vtkOSPRayRendererNode::SetDenoiserThreshold
static void SetDenoiserThreshold(int, vtkRenderer *renderer)
Convenience method to set/get DENOISER_THRESHOLD on a vtkRenderer.
vtkOSPRayRendererNode::MAX_CONTRIBUTION
static vtkInformationDoubleKey * MAX_CONTRIBUTION()
When present on renderer, samples are clamped to this value before they are accumulated into the fram...
vtkOSPRayRendererNode::AccumulateTime
vtkMTimeType AccumulateTime
Definition: vtkOSPRayRendererNode.h:400
vtkX3D::name
@ name
Definition: vtkX3D.h:225
vtkOSPRayRendererNode::AMBIENT_SAMPLES
static vtkInformationIntegerKey * AMBIENT_SAMPLES()
When present on renderer, controls the number of ambient occlusion samples shot per hit.
vtkRendererNode.h
vtkOSPRayRendererNode::AccumulateCount
int AccumulateCount
Definition: vtkOSPRayRendererNode.h:398
vtkOSPRayRendererNode::AddLight
void AddLight(OSPLight light)
Definition: vtkOSPRayRendererNode.h:291
vtkX3D::string
@ string
Definition: vtkX3D.h:496
vtkOSPRayRendererNode::SetRendererType
static void SetRendererType(std::string name, vtkRenderer *renderer)
Set the OSPRay renderer type to use (e.g.
vtkOSPRayRendererNode::NORTH_POLE
static vtkInformationDoubleVectorKey * NORTH_POLE()
World space direction of north pole for gradient and texture background.
vtkOSPRayRendererNode::DepthBufferTex
int DepthBufferTex
Definition: vtkOSPRayRendererNode.h:384
vtkOSPRayCache< vtkOSPRayCacheItemObject >
RTW::Backend
Definition: Backend.h:8
vtkOSPRayRendererNode::SetMaxContribution
static void SetMaxContribution(double, vtkRenderer *renderer)
Convenience method to set/get MAX_CONTRIBUTION on a vtkRenderer.
vtkOSPRayRendererNode::GeometricModels
std::vector< OSPGeometricModel > GeometricModels
Definition: vtkOSPRayRendererNode.h:366
vtkInformationDoubleVectorKey
Key for double vector values.
Definition: vtkInformationDoubleVectorKey.h:51
vtkOSPRayRendererNode::Invalidate
void Invalidate(bool prepass) override
Invalidates cached rendering data.
vtkOSPRayRendererNode::GetNorthPole
static double * GetNorthPole(vtkRenderer *renderer)
Convenience method to set/get NORTH_POLE on a vtkRenderer.
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:182
vtkOSPRayRendererNode::AlbedoBuffer
std::vector< osp::vec3f > AlbedoBuffer
Definition: vtkOSPRayRendererNode.h:412
vtkOSPRayRendererNode::GetRendererType
static std::string GetRendererType(vtkRenderer *renderer)
Set the OSPRay renderer type to use (e.g.
vtkOSPRayCache.h
vtkOSPRayRendererNode::AccumulateMatrix
vtkMatrix4x4 * AccumulateMatrix
Definition: vtkOSPRayRendererNode.h:401
OSPRenderer
#define OSPRenderer
Definition: RTWrapper.h:16
vtkOSPRayRendererNode::GetORenderer
OSPRenderer GetORenderer()
Methods for other nodes to access.
Definition: vtkOSPRayRendererNode.h:290
vtkOSPRayRendererNode::SetRouletteDepth
static void SetRouletteDepth(int, vtkRenderer *renderer)
Convenience method to set/get ROULETTE_DEPTH on a vtkRenderer.
vtkOSPRayRendererNode::None
@ None
Definition: vtkOSPRayRendererNode.h:346
vtkOSPRayRendererNode::VIEW_TIME
static vtkInformationDoubleKey * VIEW_TIME()
Requested time to show in a renderer and to lookup in a temporal cache.
vtkOSPRayRendererNode::ODepthBuffer
std::vector< float > ODepthBuffer
Definition: vtkOSPRayRendererNode.h:397
vtkOSPRayRendererNode::GetColorBufferTextureGL
virtual int GetColorBufferTextureGL()
Definition: vtkOSPRayRendererNode.h:304
vtkOSPRayRendererNode::SetCompositeOnGL
static void SetCompositeOnGL(int, vtkRenderer *renderer)
Convenience method to set/get COMPOSITE_ON_GL on a vtkRenderer.
vtkOSPRayRendererNode::~vtkOSPRayRendererNode
~vtkOSPRayRendererNode() override
vtkOSPRayRendererNode::GetEnableDenoiser
static int GetEnableDenoiser(vtkRenderer *renderer)
Enable denoising (if supported).
vtkOSPRayRendererNode::vtkOSPRayRendererNode
vtkOSPRayRendererNode()
vtkOSPRayRendererNode::GetBuffer
virtual void * GetBuffer()
Get the last rendered ColorBuffer.
Definition: vtkOSPRayRendererNode.h:296
vtkOSPRayRendererNode::SetEastPole
static void SetEastPole(double *, vtkRenderer *renderer)
Convenience method to set/get EAST_POLE on a vtkRenderer.
vtkOSPRayRendererNode::GetRendererNode
static vtkOSPRayRendererNode * GetRendererNode(vtkViewNode *)
Convenience method to get and downcast renderable.
vtkOSPRayRendererNode::ComputeDepth
bool ComputeDepth
Definition: vtkOSPRayRendererNode.h:393
vtkRendererNode
vtkViewNode specialized for vtkRenderers
Definition: vtkRendererNode.h:31
vtkOSPRayRendererNode::GetAmbientSamples
static int GetAmbientSamples(vtkRenderer *renderer)
Convenience method to set/get AMBIENT_SAMPLES on a vtkRenderer.
vtkOSPRayRendererNode::MAX_FRAMES
static vtkInformationIntegerKey * MAX_FRAMES()
When present on renderer, controls the number of ospray render calls for each refresh.
vtkOSPRayRendererNode::NumActors
int NumActors
Definition: vtkOSPRayRendererNode.h:392
vtkOSPRayRendererNode::BACKGROUND_MODE
static vtkInformationIntegerKey * BACKGROUND_MODE()
Control use of the path tracer backplate and environmental background.
vtkOSPRayRendererNode::Denoise
void Denoise()
Denoise the colors stored in ColorBuffer and put into Buffer.
vtkOSPRayRendererNode::Accumulate
bool Accumulate
Definition: vtkOSPRayRendererNode.h:394
vtkOSPRayRendererNode::GetSamplesPerPixel
static int GetSamplesPerPixel(vtkRenderer *renderer)
Convenience method to set/get SAMPLES_PER_PIXEL on a vtkRenderer.
vtkOSPRayRendererNode::SetSamplesPerPixel
static void SetSamplesPerPixel(int, vtkRenderer *renderer)
Convenience method to set/get SAMPLES_PER_PIXEL on a vtkRenderer.
vtkOSPRayRendererNode::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOSPRayRendererNode::NormalBuffer
std::vector< osp::vec3f > NormalBuffer
Definition: vtkOSPRayRendererNode.h:411
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
vtkOSPRayRendererNode::VARIANCE_THRESHOLD
static vtkInformationDoubleKey * VARIANCE_THRESHOLD()
When present on renderer, controls the threshold for adaptive accumulation default is 0....
vtkOSPRayRendererNode::GetMaxContribution
static double GetMaxContribution(vtkRenderer *renderer)
Convenience method to set/get MAX_CONTRIBUTION on a vtkRenderer.