25 #ifndef vtkOptiXRendererNode_h 26 #define vtkOptiXRendererNode_h 28 #include "vtkRenderingOptiXModule.h" 37 struct vtkOptiXRendererNodeInternals;
47 class GeometryGroupObj;
55 void PrintSelf(ostream& os,
vtkIndent indent);
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);
151 virtual void Synchronize(
bool prepass);
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
a simple class to control print indentation
vtkViewNode specialized for vtkRenderers