<div dir="ltr">On Tue, Jun 6, 2017 at 3:19 PM, Trevour Spencer <span dir="ltr"><<a href="mailto:trevourspencer@gmail.com" target="_blank">trevourspencer@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear VTK experts,<br>I'd like to solve a problem with visualizing datasets that are too large to be rendered fluently on a single node.<br>We have datasets that have been distributed with PT-Scotch across ~10-100 nodes of a MPI cluster (each node has a GPU, but for now we are rendering CPU only.). A vtkUnstructuredGrid has been created on each process to visualize the respective fraction of the data that is stored in this process. So far, we have been successful.<br><br>How would I create a composite image that combines all data from all processes? Apparently <a href="http://www.vtk.org/Wiki/VTK/MultiPass_Rendering#Parallel_rendering" target="_blank">http://www.vtk.org/Wiki/VTK/<wbr>MultiPass_Rendering#Parallel_<wbr>rendering</a> gives some ideas, and the example <a href="http://www.vtk.org/gitweb?p=VTK.git;a=blob;f=Filters/Parallel/Testing/Cxx/DistributedDataRenderPass.cxx" target="_blank">http://www.vtk.org/gitweb?p=<wbr>VTK.git;a=blob;f=Filters/<wbr>Parallel/Testing/Cxx/<wbr>DistributedDataRenderPass.cxx</a> is perfect for distributing the points of a small dataset across 2 processes and rendering the combined image.<br><br>What I cannot find out with these examples is:<br>How do I proceed, if the data *are* already distributed across the processes? I cannot gather all data on process id #0 (too large) to pass them to a vtkDistributedDataFilter as in the example above. How should the DistributedDataRenderPass.cxx be modified to run with initially distributed data?<br><br>I appreciate your thoughts<br>Trevour<br><br>ps: Finding a solution without ParaView is a requirement from our IT side. We can't argue with them :(<br><br></div></blockquote><div><br>boo! ;)<br><br>See tests and examples reachable under doxygen for :<br><a href="http://www.vtk.org/doc/nightly/html/classvtkCompositeRenderManager.html">http://www.vtk.org/doc/nightly/html/classvtkCompositeRenderManager.html</a><br>and <br><a href="http://www.vtk.org/doc/nightly/html/classvtkCompositer.html">http://www.vtk.org/doc/nightly/html/classvtkCompositer.html</a><br>for orchestrating the synchronous independent pipelines and depth compositing respectively.<br><br></div><div>Pretty soon you will want to swap out any VTK native compositor for IceT since that is better optimized and tested.<br></div><div>For ideas on how to go about that see:<br><a href="http://www.vtk.org/Wiki/VTK/MultiPass_Rendering_With_IceT">http://www.vtk.org/Wiki/VTK/MultiPass_Rendering_With_IceT</a><br><br></div><div>Bit of advice - although it can be a chore to compile/install ParaView it can also be a chore to develop something from scratch.<br><br></div><div>good luck with either path.<br></div><div id="gmail-m_-5055892808476754039DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2">cheers<br><br><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>David E DeMarle<br>Kitware, Inc.<br>Principal Engineer<br>21 Corporate Drive<br>Clifton Park, NY 12065-8662<br>Phone: 518-881-4909</div></div></div></div></div></div></div></div></div></div>