MCPcopy Index your code
hub / github.com/NVlabs/nvdiffrast

github.com/NVlabs/nvdiffrast @v0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.0 ↗ · + Follow
173 symbols 335 edges 33 files 20 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Nvdiffrast – Modular Primitives for High-Performance Differentiable Rendering

Teaser image

Modular Primitives for High-Performance Differentiable Rendering

Samuli Laine, Janne Hellsten, Tero Karras, Yeongho Seol, Jaakko Lehtinen, Timo Aila

http://arxiv.org/abs/2011.03277

Nvdiffrast is a PyTorch library that provides high-performance primitive operations for rasterization-based differentiable rendering.

To install:

pip install setuptools wheel ninja
pip install git+https://github.com/NVlabs/nvdiffrast.git --no-build-isolation

See ☞☞ nvdiffrast documentation ☜☜ for more information.

Licenses

Copyright © 2020–2025, NVIDIA Corporation. All rights reserved.

This work is made available under the Nvidia Source Code License.

For business inquiries, please visit our website and submit the form: NVIDIA Research Licensing

We do not currently accept outside code contributions in the form of pull requests.

Environment map stored as part of samples/data/envphong.npz is derived from a Wave Engine sample material originally shared under MIT License. Mesh and texture stored as part of samples/data/earth.npz are derived from 3D Earth Photorealistic 2K model originally made available under TurboSquid 3D Model License.

Citation

@article{Laine2020diffrast,
  title   = {Modular Primitives for High-Performance Differentiable Rendering},
  author  = {Samuli Laine and Janne Hellsten and Tero Karras and Yeongho Seol and Jaakko Lehtinen and Timo Aila},
  journal = {ACM Transactions on Graphics},
  year    = {2020},
  volume  = {39},
  number  = {6}
}

Core symbols most depended-on inside this repo

getPtr
called by 30
csrc/common/cudaraster/impl/Buffer.hpp
getSize
called by 16
csrc/common/cudaraster/impl/Buffer.hpp
reset
called by 12
csrc/common/cudaraster/impl/Buffer.cpp
make_float4
called by 11
csrc/common/common.h
make_int3
called by 11
csrc/common/common.h
make_float3
called by 10
csrc/common/common.h
make_int4
called by 10
csrc/common/common.h
getLaunchGridSize
called by 9
csrc/common/common.cpp

Shape

Function 81
Method 62
Class 30

Languages

C++59%
Python41%

Modules by API surface

nvdiffrast/torch/ops.py37 symbols
csrc/common/common.h15 symbols
samples/torch/pose.py13 symbols
csrc/common/cudaraster/impl/CudaRaster.cpp12 symbols
samples/torch/util.py8 symbols
csrc/torch/torch_texture.cpp8 symbols
csrc/common/cudaraster/impl/RasterImpl.cpp8 symbols
csrc/common/cudaraster/impl/Buffer.hpp8 symbols
csrc/common/cudaraster/impl/RasterImpl.hpp7 symbols
csrc/common/cudaraster/impl/Buffer.cpp6 symbols
samples/torch/cube.py5 symbols
csrc/torch/torch_rasterize.cpp5 symbols

For agents

$ claude mcp add nvdiffrast \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page