LiV is a tool for in-situ visualization of large volumetric data. It is designed to be used in conjunction with simulation codes to provide real-time visualization of the data generated by the simulation. LiV is designed to be lightweight and easy to use, and can be easily integrated into existing simulation codes.
LiV supports accelerated distributed rendering of large volumetric data using Volumetric Depth Images, and supports compositing over non-convex volume partitions.
This library is a work in progress. Please check back for updates.
LiV has the following dependencies:
- A C++ compiler that supports C++17 or later
- CMake 3.20 or later
- MPI Library (e.g. OpenMPI)
- Java Development Kit (JDK) 21 or later
- LiV-renderer (from the LiV-renderer repository at https://github.com/aryaman-gupta/LiV-renderer)
- Google Test (for building tests)
To build LiV, follow these steps:
- Clone the LiV repository:
git clone https://github.com/aryaman-gupta/LiV.git
- Set environment variable:
export JAVA_HOME=/path/to/jdk
- Create a build directory:
mkdir build && cd build
- Run CMake:
cmake ..
- Build LiV:
make
- Build the
LiV-renderer
library:cd /path/to/LiV-renderer
./gradlew build
./gradlew shadowJar
See examples in the examples
directory for examples of how to use LiV in your simulation code.
Before running an example, make sure to set the SCENERY_CLASS_PATH
environment variable to directory where the build files of LiV-renderer
are stored.
The environment variable SCENERY_HEADLESS
can be set to false
to run the renderer in a windowed mode.