[vtkusers] concept of visualizing large datasets (no ParaView)

Trevour Spencer trevourspencer at gmail.com
Fri Jun 9 02:08:23 EDT 2017


After running and studying the tests/examples for
vtkCompositeRenderManager, I realized that none of them performs the depth
buffer composite operation. All of them show some sort of data parallelism.
But each process either renders its own data or all data are sent to
process 0, where they are rendered. And for the vtkCompositer I see no
examples or tests at all.

I also ran all tests for vtkCompositeZPass (
http://www.vtk.org/doc/nightly/html/c2_vtk_t_3.html#c2_vtk_t_vtkCompositeZPass),
but although I expect them to show the geometry of all processes in the
render window of process 0 (unless the geometry is hidden in some process
using SetVisible(0)), each process's render window only shows its own
geometry.

I may have some misunderstanding of the vtkCompositeZPass. But do you have
any example for the vtkCompositeRenderManager that shows a result like
http://www.vtk.org/Wiki/VTK/MultiPass_Rendering_With_IceT, namely combine
partial geometry on a few processes into a single render window? With
vtkCompositeZPass or whatever, but without IceT (because the
vtk-IceT-classes are still missing in VTK)?

Cheers
Trevour

2017-06-06 21:41 GMT+02:00 David E DeMarle <dave.demarle at kitware.com>:

> On Tue, Jun 6, 2017 at 3:19 PM, Trevour Spencer <trevourspencer at gmail.com>
> wrote:
>
>> Dear VTK experts,
>> I'd like to solve a problem with visualizing datasets that are too large
>> to be rendered fluently on a single node.
>> 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.
>>
>> How would I create a composite image that combines all data from all
>> processes? Apparently http://www.vtk.org/Wiki/VTK/Mu
>> ltiPass_Rendering#Parallel_rendering gives some ideas, and the example
>> http://www.vtk.org/gitweb?p=VTK.git;a=blob;f=Filters/Paralle
>> l/Testing/Cxx/DistributedDataRenderPass.cxx is perfect for distributing
>> the points of a small dataset across 2 processes and rendering the combined
>> image.
>>
>> What I cannot find out with these examples is:
>> 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?
>>
>> I appreciate your thoughts
>> Trevour
>>
>> ps: Finding a solution without ParaView is a requirement from our IT
>> side. We can't argue with them :(
>>
>>
> boo! ;)
>
> See tests and examples reachable under doxygen for :
> http://www.vtk.org/doc/nightly/html/classvtkCompositeRenderManager.html
> and
> http://www.vtk.org/doc/nightly/html/classvtkCompositer.html
> for orchestrating the synchronous independent pipelines and depth
> compositing respectively.
>
> Pretty soon you will want to swap out any VTK native compositor for IceT
> since that is better optimized and tested.
> For ideas on how to go about that see:
> http://www.vtk.org/Wiki/VTK/MultiPass_Rendering_With_IceT
>
> Bit of advice - although it can be a chore to compile/install ParaView it
> can also be a chore to develop something from scratch.
>
> good luck with either path.
> cheers
>
> David E DeMarle
> Kitware, Inc.
> Principal Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909 <(518)%20881-4909>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170609/005c09fb/attachment.html>


More information about the vtkusers mailing list