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 &amp; 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">&quot;vtkRenderer&quot;</span>);</p>
<p class="p2">  <span class="s3">return</span> <span class="s3">static_cast</span>&lt;vtkRenderer *&gt;(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">&quot;vtkRenderWindow&quot;</span>);</p>
<p class="p1">  <span class="s3">return</span> <span class="s3">static_cast</span>&lt;vtkRenderWindow *&gt;(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-&gt;Print(std::cout) .</p>
<p class="p2">J.</p></div>