rnd-team-dev/plotoptix
Data visualisation and ray tracing in Python based on OptiX 9.1 framework.
What it solves
PlotOptiX simplifies the visualization of large 3D datasets in Python by providing a high-performance ray tracing engine. It eliminates the need for users to write complex shaders or intersection algorithms, allowing them to create photorealistic, eye-catching visualizations that are more readable and faster to render than traditional libraries like matplotlib.
How it works
Built on the NVIDIA OptiX framework and utilizing RTX-capable GPUs, PlotOptiX wraps CUDA shaders in C#/C++ libraries with a Python API. It uses progressive path tracing with explicit light sampling to simulate physically based effects. The library provides direct access to GPU buffers and supports integration with CuPy and PyTorch tensors for efficient geometry and texture updates without unnecessary data copying.
Who it’s for
It is designed for data scientists and researchers who need to visualize massive 3D datasets or create generative art using photorealistic lighting, depth of field, and complex geometries.
Highlights
- High-Performance Rendering: Uses RT Cores and NVIDIA OptiX for fast ray tracing of millions of points.
- Diverse Geometries: Supports particles, parallelepipeds, tetrahedrons, Bezier curves, B-splines, and custom triangular meshes.
- Advanced Optics: Includes multiple camera models (orthographic, pinhole, thin-lens, fisheye) with depth of field and chromatic aberration simulation.
- Physically Based Materials: Offers flat, diffuse, reflective, and refractive materials with support for light dispersion and volume scattering.
- AI Integration: Includes native OptiX and Intel Open Image AI denoisers and upsamplers.
- Hardware Acceleration: Supports NVENC for hardware-accelerated video output to MP4.
Related
- Project
- Project
- Project
- Project
- Project