ParaView 5.0.0-RC1 is now available for download. This marks the beginning of the ParaView 5.0 series, a long away from the first release v0.2.0 tagged in Dec 2001! Here are some of the major highlights.
New Rendering Engine
This release introduces a brand new rendering backend that the team has been putting together for the past several months. VTK’s rendering engine has received a major rewrite to adopt modern OpenGL APIs and design patterns. Targeted for modern GPUs, the rendering engine has almost all of the capabilities of the old engine, while showing significant performance improvements for both polygonal and volumetric rendering. For details, refer to these Source articles and blog posts [1, 2, 3, 4].
ParaView now enables using this new rendering engine. Binaries distributed on paraview.org are built with this rendering engine enabled. When building from source, simply set the VTK_RENDERING_BACKEND CMake variable to OpenGL2 to use this new rendering engine. When using this rendering engine, however, ParaView requires OpenGL 3.2 Core context. For older cards and rendering targets, the old rendering backend is still supported. Alternatively, you can choose to use one of the software rendering options that we’ll discuss next.
OpenSWR and Mesa support
Intel has been developing OpenSWR, a high performance, highly scalable OpenGL compatible software rasterizer that allows use of unmodified visualization software. Designed for cases where the GPU hardware isn’t available or is limiting, OpenSWR runs on anything from laptops, to workstations, to compute nodes in HPC systems. Initial public release (alpha) of Intel’s Mesa + OpenSWR integration work is now available and we have included binaries for the same in our ParaView binaries for Linux. The OpenSWR binaries packaged require AVX or AVX2 support. For older CPUs, a LLVM-pipe based Mesa binary is also included. You can use command line options for any of the executables to pick one of the 3 available OpenGL implementations.
To pick a Mesa implementation based on your CPU architecture:
> paraview --mesa
If AVX2 support is detected, OpenSWR-Mesa (with AVX2) is used, if AVX support is detected then OpenSWR-Mesa (with AVX) is used, otherwise Mesa with llvmpipe is used. To skip the auto-detection, you can use the –mesa-llvm, –mesa-swr-avx, or –mesa-swr-avx2 command line options instead. To change the default OpenGL implementation for subsequent launches without providing command line arguments, you can add a file $HOME/.config/ParaView/ParaViewMesaConfig.ini with a single line as mesa, mesa-llvm, mesa-swr-avx or mesa-swr-avx2. The command line options always override the value specified in this config file. To pick the native system OpenGL drivers, you can use the –native command line argument. Note that OpenSWR+Mesa is still in alpha and is intended for testing and non-production use.
OSPRay is an open source, scalable, and portable ray tracing engine for high-performance, high-fidelity visualization on Intel CPUs. Still in alpha stage, this release of ParaView includes the pvOSPray plugin in our Linux binaries for testing. Simply load this plugin and create the OSPRay Rendered 3D View instead of the usual Render View. Additional Display and View properties are available when using this view that allow controlling parameters like shadows and material properties.
Off-screen rendering with EGL
The Native Platform Interface (EGL) provides means to render to a native windowing system, such as Android, X Windows or Microsoft Windows, or to an off-screen buffer. We enable the ParaView command line executables (e.g. pvserver, pvbatch, pvpython) to render to an EGL off-screen buffer. With this work, we allow server-side hardware-accelerated rendering without the need to install a windowing system.
Community Atmosphere Model (Cam5) Catalyst Adaptor
Catalyst is a lightweight version of the ParaView server designed to be directly embedded into parallel simulations to perform in-situ analysis at run-time. In this release of ParaView, we provide a Cam5 Catalyst Adaptor which enables in-situ analysis for the Community Atmosphere Model simulation.
Accelerated Algorithms plug-in
This new plug-in includes algorithms designed to be highly scalable for large data. We include Flying Edges 2D and 3D which generate isosuraces from 2D and 3D data and Flying Edges Plane Cutter which cuts a volume with a single plane. For more information about these algorithms see the paper "Flying Edges: A High-Performance Scalable Isocontouring Algorithm" by Schroeder, Maynard, Geveci. Proc. of LDAV 2015. Chicago, IL.