Differentiable Nexel Rasterization
December 18, 2025 ยท View on GitHub
This repository contains the implementation for the Nexels CUDA rasterizer.
Installation
While this repository is meant to be used by Nexels, it is also functional as a stand-alone repository.
git clone https://github.com/victor-rong/diff_nexel_rasterization.git --recursive
conda create --name nexels_cuda python=3.8 -y
conda activate nexels_cuda
PyTorch and CUDA toolkit must be installed first. Below, we give an example script for CUDA 11.8, which we tested with. You may need to use a different version depending on your hardware.
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit -y
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
We also use Instant-NGP, which can be installed with
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
Once this is complete, you can install from source.
cd diff-nexel-rasterization
pip install --upgrade pip setuptools
pip install -e .
Acknowledgements
This method was inspired by several great works. The codebase is built off of the original 3DGS CUDA rasterizer from Kerbl et al. We also used portions of gsplat from the Nerfstudio team and 2DGS by Huang et al.
Citation
If you find this repository useful in your projects or papers, please consider citing our paper:
@article{rong2025nexels,
title={Nexels: Neurally-textured surfels for real-time novel view synthesis with sparse geometries},
author={Rong, Victor and Held, Jan and Chu, Victor and Rebain, Daniel and
Van Droogenbroeck, Marc and Kutulakos, Kiriakos N and Tagliasacchi, Andrea and Lindell, David B},
journal={arXiv preprint arXiv:2512.13796},
year={2025}
}