|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   22 #ifndef vtkOSPRayRendererNode_h 
   23 #define vtkOSPRayRendererNode_h 
   26 #include "vtkRenderingRayTracingModule.h"  
   31 #ifdef VTKOSPRAY_ENABLE_DENOISER 
   32 #include <OpenImageDenoise/oidn.hpp>  
   41 class vtkOSPRayRendererNodeInternals;
 
   55   virtual void Build(
bool prepass) 
override;
 
   60   virtual void Render(
bool prepass) 
override;
 
   65   virtual void Invalidate(
bool prepass) 
override;
 
   70   virtual void WriteLayer(
unsigned char* buffer, 
float* zbuffer, 
int buffx, 
int buffy, 
int layer);
 
   85   static void SetSamplesPerPixel(
int, 
vtkRenderer* renderer);
 
   86   static int GetSamplesPerPixel(
vtkRenderer* renderer);
 
  100   static void SetMaxContribution(
double, 
vtkRenderer* renderer);
 
  101   static double GetMaxContribution(
vtkRenderer* renderer);
 
  114   static void SetMaxDepth(
int, 
vtkRenderer* renderer);
 
  129   static void SetMinContribution(
double, 
vtkRenderer* renderer);
 
  130   static double GetMinContribution(
vtkRenderer* renderer);
 
  144   static void SetRouletteDepth(
int, 
vtkRenderer* renderer);
 
  145   static int GetRouletteDepth(
vtkRenderer* renderer);
 
  158   static void SetVarianceThreshold(
double, 
vtkRenderer* renderer);
 
  159   static double GetVarianceThreshold(
vtkRenderer* renderer);
 
  169   static void SetMaxFrames(
int, 
vtkRenderer* renderer);
 
  193   static void SetAmbientSamples(
int, 
vtkRenderer* renderer);
 
  194   static int GetAmbientSamples(
vtkRenderer* renderer);
 
  206   static void SetCompositeOnGL(
int, 
vtkRenderer* renderer);
 
  207   static int GetCompositeOnGL(
vtkRenderer* renderer);
 
  218   static void SetNorthPole(
double*, 
vtkRenderer* renderer);
 
  219   static double* GetNorthPole(
vtkRenderer* renderer);
 
  230   static void SetEastPole(
double*, 
vtkRenderer* renderer);
 
  255   static void SetViewTime(
double, 
vtkRenderer* renderer);
 
  267   static void SetTimeCacheSize(
int, 
vtkRenderer* renderer);
 
  268   static int GetTimeCacheSize(
vtkRenderer* renderer);
 
  281   virtual void* 
GetBuffer() { 
return this->Buffer.data(); }
 
  296   virtual void Traverse(
int operation) 
override;
 
  313   static void SetDenoiserThreshold(
int, 
vtkRenderer* renderer);
 
  314   static int GetDenoiserThreshold(
vtkRenderer* renderer);
 
  325   static void SetEnableDenoiser(
int, 
vtkRenderer* renderer);
 
  326   static int GetEnableDenoiser(
vtkRenderer* renderer);
 
  338   static void SetBackgroundMode(
int, 
vtkRenderer* renderer);
 
  339   static int GetBackgroundMode(
vtkRenderer* renderer);
 
  351 #ifdef VTKOSPRAY_ENABLE_DENOISER 
  352   std::vector<float> Buffer;
 
  379 #ifdef VTKOSPRAY_ENABLE_DENOISER 
  380   oidn::DeviceRef DenoiserDevice;
 
  381   oidn::FilterRef DenoiserFilter;
 
  383   bool DenoiserDirty{ 
true };
 
  
links vtkRenderers to OSPRay
virtual float * GetZBuffer()
Get the last rendered ZBuffer.
virtual int GetDepthBufferTextureGL()
OSPModel GetOModel()
Methods for other nodes to access.
std::vector< float > ZBuffer
OSPFrameBuffer OFrameBuffer
std::vector< osp::vec4f > ColorBuffer
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOSPRayRendererNodeInternals * Internal
static vtkRendererNode * New()
std::vector< OSPLight > Lights
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
virtual void Render(bool)
Makes calls to make self visible.
a collection of materials for vtk apps to draw from
std::vector< osp::vec4f > DenoisedBuffer
a node within a VTK scene graph
vtkMTimeType AccumulateTime
void AddLight(OSPLight light)
abstract specification for renderers
void Build(bool prepass) override
Build containers for our child nodes.
std::vector< osp::vec3f > AlbedoBuffer
vtkMatrix4x4 * AccumulateMatrix
OSPRenderer GetORenderer()
std::vector< float > ODepthBuffer
virtual int GetColorBufferTextureGL()
std::vector< unsigned char > Buffer
virtual void * GetBuffer()
Get the last rendered ColorBuffer.
vtkViewNode specialized for vtkRenderers
virtual void Invalidate(bool)
Clear any cached data.
std::vector< osp::vec3f > NormalBuffer
virtual void Traverse(int operation)
vtkTypeUInt32 vtkMTimeType