Skip to content

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

LightGenBench: A Benchmark for 3D Emission Generation

LightGenBench assets with their emission on

Dongchen Yang, Xingguang Yan, Manolis Savva
Simon Fraser University

Project Page arXiv Dataset

LightGenBench is a benchmark for emission generation. We curate a dataset of 36,826 artist-made emissive assets in 105 categories from TexVerse, and evaluate baselines from four method families: UV-domain, sparse-voxel, multi-view, and segmentation-based generation.

Environment Setup

Clone the repository and create the environment:

# Clone the repository
git clone https://github.com/3dlg-hcvc/lightgenbench.git
cd lightgenbench

# Create and activate the environment for the evaluation and the dataset build
conda env create -f environment.yml
conda activate lightgen

# Only to score Hunyuan3D-Emission: nvdiffrast, built with a CUDA 12 toolkit
pip install --no-build-isolation git+https://github.com/NVlabs/nvdiffrast.git@v0.4.0

Each baseline is a git submodule with its own environment. Fetch the ones you use and follow their READMEs:

git submodule update --init TEXGen-Emission   # or TRELLIS.2-Emission, Hunyuan3D-Emission, SegviGen-Emission

Dataset Setup

1. Download LightGenBench

First, agree to the terms and request access on Hugging Face. Then log in and download the dataset (about 130 GB) into data/lightgenbench:

hf auth login
hf download 3dlg-hcvc/LightgenBench --repo-type dataset --local-dir data/lightgenbench

# Unpack every tar in place
(cd data/lightgenbench && for t in data/*/*/*.tar; do tar -xf "$t"; done)

2. Download the Test Shapes' Source GLBs

The evaluation reads each test shape's original GLB from TexVerse, which the dataset does not include. This downloads them and writes the index the evaluation finds them through, data/texverse_index.parquet:

python -m data_processing.metadata_filtering.download_texverse --split test

To build the dataset yourself instead, see Build the Dataset Yourself.

Baselines

Baseline Method family Built on Checkpoint
TEXGen-Emission UV-domain TEXGen Hugging Face
TRELLIS.2-Emission sparse-voxel TRELLIS.2 Hugging Face
Hunyuan3D-Emission multi-view Hunyuan3D-2.1 Hugging Face
SegviGen-Emission segmentation-based (on voxels) SegviGen Hugging Face

Our checkpoints are in the Hugging Face repo 3dlg-hcvc/LightgenBench-baselines, one folder per baseline. Each baseline's README covers its setup, training, and prediction with your checkpoint or ours.

Evaluation

Score a folder of predictions on the test split:

python -m evaluation.pointsampled.pipeline --pred_root <predictions> --pred_format atlas \
    --dataset_root data/lightgenbench --split test \
    --metadata data/texverse_index.parquet --glb_root data/TexVerse-1K --output_dir <out>

Use --pred_format voxels for TRELLIS.2-Emission and SegviGen-Emission, and atlas for TEXGen-Emission. The scores go to <out>/summary_eval.json, and per shape to <out>/pointsampled_eval.parquet.

Hunyuan3D-Emission predicts six views per shape. Turn them into atlases first (on a GPU, with nvdiffrast installed), then score them as atlas:

python -m evaluation.converters.multiview --mode pred --blacken_bg --views_root <views> --out_dir <atlases> \
    --dataset_root data/lightgenbench --split test --metadata data/texverse_index.parquet --glb_root data/TexVerse-1K

Quick Start: Evaluate a Baseline

Run TRELLIS.2-Emission on the two test shapes in data/lightgenbench_sample/ and score its predictions, without downloading the dataset. Set up its trellis2 environment first, as its README says.

# Prepare the sample and compute its latents (trellis2 environment)
cd TRELLIS.2-Emission
SKIP_DOWNLOAD=1 SPLITS_SHA256=$(sha256sum ../data/lightgenbench_sample/splits.json | cut -d' ' -f1) \
    bash script/lightgenbench/prepare_lightgenbench.sh ../data/lightgenbench_sample <data_root>
NUM_GPUS=1 bash script/lightgenbench/run_chain.sh latents <data_root>

# Download our checkpoints and predict the emission of the two shapes
hf download 3dlg-hcvc/LightgenBench-baselines --include "TRELLIS.2-Emission/*" --local-dir checkpoints
NUM_GPUS=1 VAE_CKPT=checkpoints/TRELLIS.2-Emission/vae/ckpts/vae.ckpt DIT_CKPT=checkpoints/TRELLIS.2-Emission/dit/ckpts/dit.ckpt \
    bash script/lightgenbench/run_chain.sh predict <data_root>
cd ..

# Score the predictions (lightgen environment)
python -m evaluation.pointsampled.pipeline --pred_root TRELLIS.2-Emission/outputs/predict_test_seed0/pred_voxels \
    --pred_format voxels --dataset_root data/lightgenbench_sample --split test \
    --metadata data/lightgenbench_sample/glb_metadata.parquet --glb_root data/lightgenbench_sample --output_dir <out>

Build the Dataset Yourself (Optional)

To rebuild the dataset, first download the original TexVerse: all GLBs and the thumbnails (over 10 TB):

for f in TexVerse_id_list.txt thumbnails/thumbnails_part_00 thumbnails/thumbnails_part_01 thumbnails/thumbnails_part_02; do
  hf download YiboZhang2001/TexVerse $f --repo-type dataset --revision a4fe9f473d6628e06c7187604a01c0d8b13de5e2 --local-dir data/TexVerse
done
cat data/TexVerse/thumbnails/thumbnails_part_0{0,1,2} > data/TexVerse/thumbnails/thumbnails.zip
unzip -q data/TexVerse/thumbnails/thumbnails.zip -d data/TexVerse/thumbnails
hf download YiboZhang2001/TexVerse-1K --repo-type dataset --revision 8b4bf4a6eb0c3b3ce5244a863621d79b4d3f344d --local-dir data/TexVerse-1K

Then run the build (it uses the lightgen and trellis2 environments and a GPU):

# Rebuild the released dataset and split
bash data_processing/run_all.sh --out <dir> --pins-from data/lightgenbench/splits.json

# Or judge the shapes with the VLM again (calls the OpenAI API; key in api_key/key.config or OPENAI_API_KEY)
bash data_processing/run_all.sh --out <dir> --vlm

See bash data_processing/run_all.sh -h to run single stages or to split the run over many machines.

License

The code in this repository is released under the MIT license. Each baseline keeps the license of the method it is built on (see its README). The dataset's shapes keep the licenses of their source models (see the dataset card). The two shapes in data/lightgenbench_sample/ are under CC BY 4.0: the lamp by Drakahn Finlay and the car by Artifacts Hub 3d.

Citation

@article{lightgenbench2026,
  title   = {LightGenBench: A Benchmark for 3D Emission Generation},
  author  = {Yang, Dongchen and Yan, Xingguang and Savva, Manolis},
  journal = {arXiv preprint arXiv:2610.39038},
  year    = {2026}
}

Acknowledgments

This work was funded in part by a Canada Research Chair, NSERC Discovery Grants, and enabled by support from the Digital Research Alliance of Canada, and an NVIDIA Academic Grant Award. We thank Denys Iliash, Han-Hung Lee, and Xiaohao Sun for helpful discussions.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages