<div dir="ltr"><div>Supposedly you shouldn't need to do any of that and CMake will take care of it all assuming you link against the right targets (which generally works for me for my projects).  In one case where that did not seem to work on an iOS app I added<br><br>  vtkRenderingOpenGL2ObjectFactory *of = vtkRenderingOpenGL2ObjectFactory::New();<br>  vtkObjectFactory::RegisterFactory(of);<br><br></div>to my source code to pull in and initialize the object factory I needed.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 5, 2018 at 7:54 PM, Brian Davis <span dir="ltr"><<a href="mailto:bitminer@gmail.com" target="_blank">bitminer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>maybe: <br><br>//VTK_MODULE_INIT(<wbr>vtkRenderingOpenGL);<br>VTK_MODULE_INIT(<wbr>vtkRenderingOpenGL2);<br>VTK_MODULE_INIT(<wbr>vtkInteractionStyle);<br>//VTK_MODULE_INIT(<wbr>vtkRenderingVolumeOpenGL);<br>//VTK_MODULE_INIT(<wbr>vtkGPUVolumeRayCastMapper);<br>//VTK_MODULE_INIT(<wbr>vtkFixedPointVolumeRayCastMapp<wbr>er);<br><br><br></div>and <br><br>target_compile_definitions(<br>    vtk_volume_renderer<br>    PRIVATE<br>    volume_render_EXPORTS=yes<br>    vtkRenderingCore_AUTOINIT="1(<wbr>vtkRenderingOpenGL)"<br>    vtkRenderingVolume_AUTOINIT=1(<wbr>vtkRenderingVolumeOpenGL)<br>    vtkRenderingCore=<wbr>vtkRenderingOpenGL    <br>)<br><br></div>at least it compiles.with warning<br><br>...<br>2>C:/projects/4DDSA/brian/<wbr>build/CMakeFiles/<wbr>vtkRenderingCore_AUTOINIT_<wbr>vtkInteractionStyle_<wbr>vtkRenderingFreeType_<wbr>vtkRenderingOpenGL2.h(1): warning C4005: 'vtkRenderingCore_AUTOINIT' : macro redefinition<br>2>          command-line arguments :  see previous definition of 'vtkRenderingCore_AUTOINIT'<br><div><div>...<br>========== Build: 2 succeeded, 0 failed, 5 up-to-date, 0 skipped ==========<br><br></div><div><br></div><div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 5, 2018 at 6:38 PM, Brian Davis <span dir="ltr"><<a href="mailto:bitminer@gmail.com" target="_blank">bitminer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Part of solution may be to change:<br><br>VTK_MODULE_INIT(vtkRenderingOp<wbr>enGL);<br><br>to<br><br>VTK_MODULE_INIT(vtkRenderingOp<wbr>enGL2);<br><br><br></div><div class="gmail_extra"><div><div class="m_2112646369532339936h5"><br><div class="gmail_quote">On Thu, Apr 5, 2018 at 6:30 PM, Brian Davis <span dir="ltr"><<a href="mailto:bitminer@gmail.com" target="_blank">bitminer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I use to:<br><div><br>#include <vtkAutoInit.h><br>VTK_MODULE_INIT(vtkRenderingOp<wbr>enGL);<br>VTK_MODULE_INIT(vtkInteraction<wbr>Style);<br>VTK_MODULE_INIT(vtkRenderingVo<wbr>lumeOpenGL);<br>//VTK_MODULE_INIT(vtkGPUVolume<wbr>RayCastMapper);<br>//VTK_MODULE_INIT(vtkFixedPoin<wbr>tVolumeRayCastMapper);<br><br><br></div><div>and at times define<br></div><div><br>vtkRenderingCore_AUTOINIT="1(v<wbr>tkRenderingOpenGL)"<br>vtkRenderingVolume_AUTOINIT=1(<wbr>vtkRenderingVolumeOpenGL)<br>vtkRenderingCore=vtkRenderingO<wbr>penGL<br><br></div><div>However in 8.1.0 build I get<br></div><div><br clear="all">(void)" (?vtkRenderingOpenGL_AutoInit_<wbr>Construct@@YAXXZ) referenced in function "public: __cdecl vtkRenderingOpenGL_ModuleInit:<wbr>:vtkRenderingOpenGL_ModuleInit<wbr>(void)" (??0vtkRenderingOpenGL_ModuleI<wbr>nit@@QEAA@XZ)<br><br></div><div>which reminds me of every other time I try and build it when the version changes.  What is special sauce recipe for 8.1.0 and building with post  opengl 2 (GLSL shader enabled version)<br><br><br></div><div>Anyone count the number of threads over the years that discuss the opengl init in VTK... there is such a sea of posts I am not even going to bother to fish out what may be the solution somewhere buried in the ether else I have to get out my heavy duty digital backhoe and realy dig for it.  Sure I'll find it in some blog post somewhere.<br><br></div><div>Any one at Kitware want to rethink the opengl design (Build and init process)? <br></div><div><br><br></div><div>my superbuild of vtk defines:<br></div><div><br>        VTK_BUILD_DEFINITIONS <br>            -DCMAKE_INSTALL_PREFIX=${INSTA<wbr>LL_PREFIX} <br>               -DINSTALL_PREFIX=${INSTALL_PRE<wbr>FIX}<br>#            -DModule_vtkRenderingVolumeOpe<wbr>nGL=ON<br>#            -DModule_vtkRenderingVolumeOpe<wbr>nGLNew=ON<br>            -DModule_vtkTestingCore:BOOL=O<wbr>N<br>            -DModule_vtkTestingRendering=O<wbr>N<br>            -DModule_vtkRenderingVolumeOpe<wbr>nGL2=ON<br>            <br>            -DVTK_RENDERING_BACKEND=OpenGL<wbr>2 <br>            -DBUILD_EXAMPLES=${VTK_BUILD_E<wbr>XAMPLES}<br>            -DBUILD_TESTING=${VTK_BUILD_TE<wbr>STING}<br><br><br><br>ExternalProject_Add(<br> ${VTK_VERSION_NAME}   <br>...<br>CMAKE_ARGS ${VTK_BUILD_DEFINITIONS}<br>...<br>)<br><br><br><br></div></div>
</blockquote></div><br><br clear="all"><span class="HOEnZb"><font color="#888888"><br></font></span></div></div><span class="HOEnZb"><font color="#888888"><span class="m_2112646369532339936HOEnZb"><font color="#888888">-- <br><div class="m_2112646369532339936m_-6945282344881848970gmail_signature" data-smartmail="gmail_signature">Brian J. Davis<br></div>
</font></span></font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div class="m_2112646369532339936gmail_signature" data-smartmail="gmail_signature">Brian J. Davis<br></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_<wbr>FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://vtk.org/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">https://vtk.org/mailman/<wbr>listinfo/vtkusers</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Ken Martin PhD<div>Distinguished Engineer<br><span style="font-size:12.8px">Kitware Inc.</span><br></div><div>28 Corporate Drive<br>Clifton Park NY 12065<br><div><br></div><div><span style="font-size:10pt;font-family:Tahoma,sans-serif">This communication,
including all attachments, contains confidential and legally privileged
information, and it is intended only for the use of the addressee.  Access to this email by anyone else is
unauthorized. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken in reliance on it is prohibited and may be
unlawful. If you received this communication in error please notify us
immediately and destroy the original message. 
Thank you.</span></div></div></div></div></div>
</div>