Custom OpenGL content and UI interaction

I’m trying to build a HD(high definition) map[1] visualization application based on paraView tool chain. And want to find out what’s the best way to build the tool based on ParaView or VTK.

In sum the requirements are:

  1. (The most important) Remote rendering (Because the data is huge, I want to take advantage of the remote rendering ability of ParaView LIte.)
  2. C++ backend, wslink can wrap with python
  3. If can reuse some camera transition function from paraView is better

I’m thinking about two directions of how to implement this application.
Direction 1:
Visulization => ParaView Lite
Render => ParaView

Direction 2:
Visualization => ParaView Lite
Render => VTK
skip complicated paraView code and only use the streaming function of VTK.

What would you recommend?

[1] It would have street map layer, point cloud layer, and vectorized info layer. and different layer needs to support different ways to interact with. For example I need to be able to click on some road on street map layer. and also be able to select lines on vectorized info layer.


Nowadays, the best approach is to use trame which provides an abstract layer on top of the VTK/ParaView Web stack. It really make the transition from VTK to ParaView and vis versa seamless.

So the true question is indeed: VTK or ParaView?

Why should you pick ParaView instead of VTK:
If your visualization needs are inlined with what ParaView tends to do, the Python code will be more compact and maybe easier to manage. Also if your data is so big that it can not fit on a single machine (think HPC/cluster), then ParaView is your only choice.

Why should you pick VTK over ParaView:
If you are already well versed with VTK and you want to be in full control on how you setup and execute your pipeline then VTK is the way to go.

Thank you very much for the advice.
Trame seems to be match with my requirement well.
I just going through the tutorial of web visualization (SC21).
Hope that more and more people would notice this tool and contribute on it.