This repository provides the official 3D implementation of Learning View-Dependent Splatting Kernels.
This project builds on the codebases of 3D Gaussian Splatting and Deformable Beta Splatting. We thank the authors for releasing their implementations.
Clone the repository with submodules:
git clone --recursive -b 3d_splatting --single-branch https://github.com/optkernel/codebase.git 3dns
cd 3dnsSet Up Conda Environment:
conda create -y -n 3dns python=3.10
conda activate 3dnsInstall Pytorch (Based on Your CUDA Version):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124Install Dependencies and Submodules:
pip install -r requirements.txtdate="260526"
output_path=./output/$date
pretrain_root="./output/pretrain/${date}"
pretrain_path="$pretrain_root/neural_render/iteration_15000/neural_render.pth"
# We use lego cameras to pretrain our model
ns=/path/to/nerf_synthetic
subtask="lego"
python pretrain.py -s $ns/$subtask/ \
-m $pretrain_root/ \
--num_init_pts 1 \
--iteration 15000 \
--save_iterations 7000 15000 \
--test_iterations 7000 15000 \
--neural_render_lr_init 0.01 \
--neural_render_lr_delay_steps 1000 \
--neural_render_lr_delay_mult 0.01 \
--eval
# If you want to use SH color, set --sh_degree 3 and --color_mode "sh"
python train.py -s /path/to/data \
-m $output_path \
-p $pretrain_path \
--iterations 30000 \
--checkpoint_iterations 7000 30000 \
--test_iterations 7000 30000 \
--sh_degree 2 \
--color_mode "sb" \
--eval \
--disable_viewerThese commands are written in ./script/train.sh. You can substitute your own config and run
bash ./script/train.shbash ./script/render.shbash ./script/validate.shbash ./script/benchmark.sh@inproceedings{ding2026kernel,
title = {Learning View-Dependent Splatting Kernels},
author = {Huakeng Ding and Zhangpeng Liu and Fan Pei and Kun Zhou and Hongzhi Wu},
booktitle = {SIGGRAPH 2026 Conference Papers},
year = {2026}
}