22 #ifndef vtkOptiXRendererNode_h 23 #define vtkOptiXRendererNode_h 25 #include "vtkRenderingOptiXModule.h" 34 struct vtkOptiXRendererNodeInternals;
44 class GeometryGroupObj;
57 virtual void Build(
bool prepass);
62 virtual void Render(
bool prepass);
67 virtual void WriteLayer(
unsigned char *buffer,
float *zbuffer,
68 int buffx,
int buffy,
int layer);
83 static void SetSamplesPerPixel(
int,
vtkRenderer *renderer);
84 static int GetSamplesPerPixel(
vtkRenderer *renderer);
94 static void SetMaxFrames(
int,
vtkRenderer *renderer);
105 static void SetAmbientSamples(
int,
vtkRenderer *renderer);
106 static int GetAmbientSamples(
vtkRenderer *renderer);
112 virtual unsigned char *
GetBuffer() {
return this->Buffer; }
122 virtual optix::ContextObj* GetOptiXContext();
127 virtual optix::GeometryGroupObj* GetOptiXGeometryGroup();
143 virtual void Traverse(
int operation);
171 mutable float Cached_bgColor[3];
172 mutable int Cached_useShadows;
173 mutable int Cached_samplesPerPixel;
174 mutable bool ContextValidated;
175 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.