Go to the documentation of this file.
25 #ifndef vtkOptiXRendererNode_h
26 #define vtkOptiXRendererNode_h
28 #include "vtkRenderingOptiXModule.h"
37 struct vtkOptiXRendererNodeInternals;
47 class GeometryGroupObj;
60 virtual void Build(
bool prepass);
70 virtual void WriteLayer(
unsigned char *buffer,
float *zbuffer,
71 int buffx,
int buffy,
int layer);
115 virtual unsigned char *
GetBuffer() {
return this->Buffer; }
174 mutable float Cached_bgColor[3];
175 mutable int Cached_useShadows;
176 mutable int Cached_samplesPerPixel;
177 mutable bool ContextValidated;
178 mutable int Cached_AOSamples;
static vtkInformationIntegerKey * SAMPLES_PER_PIXEL()
When present on renderer, controls the number of primary rays shot per pixel.
virtual optix::ContextObj * GetOptiXContext()
Get the OptiX Context.
vtkOptiXPtxLoader * OptiXPtxLoader
vtkOptiXPtxLoader * GetOptiXPtxLoader()
Get the OptiX Ptx loader.
static void SetMaxFrames(int, vtkRenderer *renderer)
vtkOptiXRendererNodeInternals * Internals
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.
static int GetSamplesPerPixel(vtkRenderer *renderer)
virtual unsigned char * GetBuffer()
Get the last rendered ColorBuffer.
static void SetAmbientSamples(int, vtkRenderer *renderer)
virtual void Build(bool prepass)
Builds myself.
for loading of OptiX .ptx files
virtual void Render(bool prepass)
Traverse graph in OptiX's preferred order and render.
virtual optix::GeometryGroupObj * GetOptiXGeometryGroup()
Get the top level GeometryGroup.
static void SetSamplesPerPixel(int, vtkRenderer *renderer)
Convenience method to set/get SAMPLES_PER_PIXEL on a vtkRenderer.
static vtkOptiXRendererNode * New()
std::vector< vtkopt::Light > Lights
a simple class to control print indentation
virtual float * GetZBuffer()
Get the last rendered ZBuffer.
virtual void AddLight(const vtkopt::Light &light)
Add a Light.
static vtkInformationIntegerKey * AMBIENT_SAMPLES()
When present on renderer, controls the number of ambient occlusion samples shot per hit.
static vtkInformationIntegerKey * MAX_FRAMES()
When present on renderer, controls the number of OptiX render calls for each refresh.
virtual void Synchronize(bool prepass)
Synchronizes render output by recreating depth/color buffer.
static int GetAmbientSamples(vtkRenderer *renderer)
links vtkRenderers to OptiX
abstract specification for renderers
virtual void Traverse(int operation)
If you want to traverse your children in a specific order or way override this method.
static int GetMaxFrames(vtkRenderer *renderer)
vtkViewNode specialized for vtkRenderers
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.