Hi, vtkRenderer and vtkRendererWindow are abstract classes. <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">vtkOpenGLRenderer & vtkOpenGLRenderWindow are concret implementation. </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">vtkOpenGLRenderer </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">is used when </span>VTK_USE_MANGLED_MESA is not defined. <div>
vtkOpenGLRenderWindow has more <a href="http://www.vtk.org/doc/nightly/html/classvtkOpenGLRenderWindow__inherit__graph.png">specifications</a>.</div><div><br></div><div>When you call vtkRenderer::New() following code is called.</div>
<div>
<p class="p2">vtkRenderer *vtkRenderer::New()</p>
<p class="p2">{</p>
<p class="p1"><span class="s1"> </span>// First try to create the object from the vtkObjectFactory</p>
<p class="p2"> vtkObject* ret = vtkGraphicsFactory::CreateInstance(<span class="s2">"vtkRenderer"</span>);</p>
<p class="p2"> <span class="s3">return</span> <span class="s3">static_cast</span><vtkRenderer *>(ret);</p>
<p class="p2">}</p><p class="p2">Same with render window.</p><p class="p2">
</p><p class="p1">vtkRenderWindow *vtkRenderWindow::New()</p>
<p class="p1">{</p>
<p class="p2"><span class="s1"> </span>// First try to create the object from the vtkObjectFactory</p>
<p class="p1"> vtkObject* ret = vtkGraphicsFactory::CreateInstance(<span class="s2">"vtkRenderWindow"</span>);</p>
<p class="p1"> <span class="s3">return</span> <span class="s3">static_cast</span><vtkRenderWindow *>(ret);</p>
<p class="p1">}</p><p></p><p class="p2">File vtkGraphicsFactory.cxx contains all conditions necessary for choosing appropriate implementation of rendered and render window. This file is core response to your question.</p>
<p class="p2">So, you are directly working with certain types of concrete implementation according your OS and parameters preset in cmake. Print your vtkRenderer instance to see its class : rendered->Print(std::cout) .</p>
<p class="p2">J.</p></div>