I understand your frustration. Years ago when I first got in touch with VTK that was also mine. C++ has a smooth learning curve. VTK is one of the most difficult libraries out there to configure and build. CMake syntax is a bit exotic, etc. If you’re not well acquainted with software configuring and building, VTK can be challenging indeed. I can say that only perseverance and repetition will do. The only way to grow muscle is by practicing, practicing, practicing and… practicing.
As for Paraview, it is a user friendly front end to VTK, not actually a competitor. The only serious competitor to VTK I know of is ThermoFisher’s OpenInventor. As you already guessed by the owner company (a manufacturer of high-end scientific equipment), it costs thousands of dollars a license, even for academic users.
It seems to me that your needs are more of an end-user, then you’re better off with something like Paraview, ArcGis, GMsh, etc. VTK is a high abstraction level API to lower level hardware-accelerated graphics API (e.g. OpenGL) intended to developers of scientific visualization applications, not to end-users.
good day to you and thanks for replying.
Frustration is indeed exist in my head now. It is more challenging than installing any other packages I have installed.
Due to my limited 4 GB RAM I have to wait for a day to finish compiling. And when it fails repeating with another script is quite stressful but you are right. Practice makes perfect and muscles… never give up is the key.
I see in tutorial out there Paraview using VTK. Meaning VTK is the kernel of visualization, the bottom of the food chain or top of pyramid. VTK is the best since it is open sourced. For ThermoFisher’s OpenInventor it is more or less like MATLAB and Mathematica.
I will try ArcGIS, GMSh and Paraview thanks for your suggestion. But I never say I will give up with VTK. I love challenge just needs some practice, time and the right methods to build and install it right.
Like suggested to you before, you can use a pre-built version of vtk for Python rather than building it yourself. You still have a tone of Python examples available out there. If you are worried about speed, because of Python. Don’t be, it is the same C++ code that is running with a Python interface.
You might be wondering how to install VTK for python. Well simply by running pip install vtk.
Python’s role is to call VTK functionality that runs natively (machine code). Performance figures are expected to be the same as if you call VTK API from a C++ program. Python starts to lag if you implement too much processing (that is, too many loops) in pure Python code. Python is what is termed “glue code”: a high level code used to link and coordinate high performing lower level libraries to create end-user workflows.
Just a side note. Learning C++ and learning VTK should be two different goals.
Learning VTK from C++ or Python should mostly be the same as they both call VTK/C++ API.
The big difference, is that by starting with Python, you will skip all the C++ compilation hurdle that is not specific to VTK. But you will still be able to understand VTK logic and how to leverage it.
So bundling C++ & VTK in your learning path is definitely going to be though.