25 #ifndef vtkOptiXRendererNode_h 26 #define vtkOptiXRendererNode_h 28 #include "vtkRenderingOptiXModule.h" 37 struct vtkOptiXRendererNodeInternals;
47 class GeometryGroupObj;
60 virtual void Build(
bool prepass);
65 virtual void Render(
bool prepass);
70 virtual void WriteLayer(
unsigned char *buffer,
float *zbuffer,
71 int buffx,
int buffy,
int layer);
86 static void SetSamplesPerPixel(
int,
vtkRenderer *renderer);
87 static int GetSamplesPerPixel(
vtkRenderer *renderer);
97 static void SetMaxFrames(
int,
vtkRenderer *renderer);
108 static void SetAmbientSamples(
int,
vtkRenderer *renderer);
109 static int GetAmbientSamples(
vtkRenderer *renderer);
115 virtual unsigned char *
GetBuffer() {
return this->Buffer; }
125 virtual optix::ContextObj* GetOptiXContext();
130 virtual optix::GeometryGroupObj* GetOptiXGeometryGroup();
146 virtual void Traverse(
int operation);
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;
for loading of OptiX .ptx files
virtual unsigned char * GetBuffer()
Get the last rendered ColorBuffer.
virtual float * GetZBuffer()
Get the last rendered ZBuffer.
abstract specification for renderers
std::vector< vtkopt::Light > Lights
links vtkRenderers to OptiX
vtkOptiXPtxLoader * OptiXPtxLoader
vtkOptiXRendererNodeInternals * Internals
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
virtual void Build(bool prepass) override
Build containers for our child nodes.
virtual void Render(bool)
Makes calls to make self visible.
vtkViewNode specialized for vtkRenderers
static vtkRendererNode * New()
virtual void Traverse(int operation)
virtual void Synchronize(bool prepass) override
Synchronize our state.