49 static vtkAnariPass*
New();
84 struct vtkFrameInformation
86 vtkFrameInformation() =
default;
90 int ViewportWidth = 0;
91 int ViewportHeight = 0;
93 double TileViewport[4] = { 0.0, 0.0, 1.0, 1.0 };
94 int TileScale[2] = { 1, 1 };
97 vtkAnariPass(
const vtkAnariPass&) =
delete;
98 void operator=(
const vtkAnariPass&) =
delete;
101 ~vtkAnariPass()
override =
default;
106 void SetSceneGraph(vtkAnariSceneGraph*);
108 void RenderAnariFrame(vtkRenderer* renderer,
const vtkFrameInformation& frameInfo);
110 void BlitAnariFrameToOpenGLFrame(vtkRenderer* renderer,
const vtkFrameInformation& frameInfo);
111 void SetupFrame(vtkOpenGLRenderWindow* openGLRenderWindow, vtkRenderer* renderer,
112 const anari::Extensions& extensions);
114 vtkSmartPointer<vtkAnariSceneGraph> SceneGraph;
115 vtkNew<vtkAnariDevice> Device;
116 vtkNew<vtkAnariRenderer> Renderer;
117 vtkNew<vtkAnariViewNodeFactory> Factory;
120 std::unique_ptr<vtkOpenGLQuadHelper> OpenGLQuadHelper;
121 vtkNew<vtkTextureObject> ColorTexture;
122 vtkNew<vtkTextureObject> DepthTexture;
123 vtkNew<vtkTextureObject> SharedColorTexture;
124 vtkNew<vtkTextureObject> SharedDepthTexture;
abstracts an OpenGL texture object.