Skip to main content

NVIDIA Kaolin

v0.17.0

NVIDIA's comprehensive 3D deep learning library with differentiable rendering, USD support, and extensive geometry processing

DifferentiableRasterizationRay Tracing
Python/C++/CUDA
Apache-2.0
Active
GPU: CUDA
CPU
Stars
4.5k
Latest Release0.17.0
Release DateOct 2024
Contributors80
Forks500
At a Glance
Technique
Differentiable, Rasterization, Ray Tracing
Language
Python/C++/CUDA
License
Apache-2.0
Platforms
Linux
Windows
GPU Support
Yes (CUDA)
CPU Support
Yes
Scene Formats
OBJ, USD, glTF, PLY, Programmatic
Output Formats
Tensor, PNG, Usd
First Release
Nov 2019
Latest Release
0.17.0 — Oct 2024
Best For
Teams working in the NVIDIA ecosystem who need a comprehensive 3D deep learning toolkit with USD interop — especially for projects bridging research and production VFX, simulation, or robotics pipelines

Development Activity

4.5k
Stars
0.17.0
1 year ago
80
Contributors
View on GitHub

Overview

Best for

Teams working in the NVIDIA ecosystem who need a comprehensive 3D deep learning toolkit with USD interop — especially for projects bridging research and production VFX, simulation, or robotics pipelines

Not ideal for

Lightweight setups, AMD or Apple Silicon hardware, or projects that only need a differentiable renderer without the broader 3D processing toolkit — use PyTorch3D or nvdiffrast for a more focused solution

Strengths

  • Comprehensive 3D deep learning toolkit that goes far beyond rendering — includes differentiable mesh processing, SDF operations, point cloud utilities, voxel grids, and physics simulation all within a single coherent library
  • First-class USD (Universal Scene Description) support is rare among Python 3D libraries, enabling direct interoperability with professional VFX and simulation pipelines including NVIDIA Omniverse, Houdini, and Maya
  • Built-in interactive web visualizer (Kaolin Dash3D) for real-time inspection of 3D data, meshes, point clouds, and neural representations during training — eliminates the need for offline visualization scripts
  • Integrates nvdiffrast under the hood for high-performance differentiable rasterization while exposing a friendlier, higher-level API with PBR materials and environment lighting support
  • Active NVIDIA backing with alignment to the broader NVIDIA ecosystem (Omniverse, Isaac Sim, DLSS, OptiX), providing a clear path from research prototypes to production deployment

Limitations

  • Heavy dependency footprint requiring specific combinations of CUDA, PyTorch, and system library versions — installation is non-trivial and environment-sensitive, especially for users new to the NVIDIA toolchain
  • Primarily Linux-focused with Windows as a secondary target — macOS is not officially supported, and Apple Silicon users cannot use the library at all
  • The rendering module, while capable, is not the primary focus — Kaolin is a broad toolkit, and its renderer is less specialized and less documented than dedicated tools like nvdiffrast or PyTorch3D's rasterizer
  • Documentation can lag behind the codebase — some newer features and API changes are better documented in code examples and unit tests than in the official API reference
  • The broad scope means a steeper learning curve for users who only need a single capability (e.g., just differentiable rendering) compared to focused single-purpose tools

Background

NVIDIA Kaolin is a PyTorch-based library that provides a broad suite of differentiable 3D operations for deep learning research and applications. Unlike tools focused solely on rendering (PyTorch3D, nvdiffrast), Kaolin is a comprehensive 3D deep learning toolkit covering mesh processing, signed distance functions (SDFs), point cloud operations, voxel grids, differentiable rendering, physics simulation, and — notably — first-class support for Universal Scene Description (USD), the industry-standard scene format used in professional VFX and simulation pipelines.

Kaolin's rendering module integrates nvdiffrast as its differentiable rasterization backend, exposing a higher-level API while preserving the underlying performance. It also provides its own differentiable ray tracing capabilities for SDF-based rendering and volumetric representations. The library includes Kaolin Dash3D, an interactive web-based visualizer for real-time inspection of 3D data during training, and supports PBR material models and environment map lighting for more physically plausible differentiable rendering than simple Phong shading.

As part of the NVIDIA ecosystem, Kaolin is designed for interoperability with Omniverse, Isaac Sim, and other NVIDIA platforms. Its USD support enables researchers to bridge the gap between experimental deep learning workflows and production VFX/simulation pipelines — a capability that is rare among Python 3D libraries. Kaolin requires an NVIDIA GPU for most operations, with Linux as the primary supported platform and Windows as secondary.

Quick Start

Community & Resources

Performance Benchmarks

No benchmark data available for NVIDIA Kaolin yet.

Benchmarks will be added as more renderers are tested across our standard scene suite.

Learn about our methodology