VideoNeuMat: Neural Material Extraction from Generative Video Models

SIGGRAPH 2026

1University of Manchester, 2NVIDIA, 3University of California Santa Barbara
*Equal contribution

Abstract

Creating photorealistic materials for 3D rendering requires exceptional artistic skill. Generative models for materials could help, but are currently limited by the lack of high-quality training data. While recent video generative models effortlessly produce realistic material appearances, this knowledge remains entangled with geometry and lighting.

We present VideoNeuMat, a two-stage pipeline that extracts reusable neural material assets from video diffusion models. First, we finetune a large video model to generate material sample videos under controlled camera and lighting trajectories, effectively creating a virtual gonioreflectometer that preserves the model's material realism while learning a structured measurement pattern.

Second, we reconstruct compact neural materials from these videos through a Large Reconstruction Model. From generated video frames, our model predicts neural material parameters that generalize to novel viewing and lighting conditions.

Pipeline

Our method has two stages. First, we finetune a video diffusion model into a virtual gonioreflectometer that generates structured material videos from text or image prompts. Second, a feed-forward LRM infers a NeuMIP-style material from 17 frames using a rendering loss under novel views and lights. The resulting material supports relighting and novel shapes.

The two-stage VideoNeuMat pipeline from the paper.

Results

Text to Material

Generated LRM Fitting Env Render
Corrugated metal sheet
Generated LRM Fitting Env Render
Dragon carved wood
Generated LRM Fitting Env Render
Morpho butterfly wing scales
Generated LRM Fitting Env Render
Oxidized copper patina
Generated LRM Fitting Env Render
Frost crystals
Generated LRM Fitting Env Render
Marble bas-relief
Generated LRM Fitting Env Render
Candied orange peel
Generated LRM Fitting Env Render
Quartz crystal
Generated LRM Fitting Env Render
Suzhou embroidery dragon
Generated LRM Fitting Env Render
Bridle leather
Generated LRM Fitting Env Render
Sheet moss
Generated LRM Fitting Env Render
Sphagnum moss
Reindeer moss lichen
Raw linen weave
Backlit beeswax honeycomb
Barnacle-encrusted surface
Dry-stacked stone
Sandstone ashlar wall
Marine-corroded steel
Cross-knurled metal
Rammed-earth wall
Natural marble stone
Rust blooms on galvanized steel
Bar grating steel

Single Image to Material

Input Generated LRM Fitting Env Render
Image prompt material sample.
Image-conditioned material sample
Input Generated LRM Fitting Env Render
Image prompt material sample.
Image-conditioned material sample
Input Generated LRM Fitting Env Render
Image prompt material sample.
Image-conditioned material sample
Input Generated LRM Fitting Env Render
Image prompt material sample.
Image-conditioned material sample
Input Generated LRM Fitting Env Render
Image prompt material sample.
Image-conditioned material sample
Input Generated LRM Fitting Env Render
Cartoon topographic material input.
Image-conditioned stylized terrain material
Image prompt material sample.
Image-conditioned material sample
Image prompt material sample.
Image-conditioned material sample
Image prompt material sample.
Image-conditioned material sample

Nearest-Neighbor Analysis Against MatSynth

Each row shows one generated sample and its top nine nearest MatSynth neighbors over the entire candidate pool. Nearest-neighbor results in MatSynth indicate that our generated materials lie outside the dataset’s distribution.

Nearest-neighbor analysis against the complete MatSynth set: each row shows one generated sample (Ours) and its top nine nearest MatSynth neighbors (NN1-NN9).

BibTeX

@inproceedings{xue2026videoneumat,
  author  = {Xue, Bowen and Hadadan, Saeed and Zeng, Zheng and Rousselle, Fabrice and Montazeri, Zahra and Hasan, Milos},
  title   = {VideoNeuMat: Neural Material Extraction from Generative Video Models},
  booktitle = {ACM SIGGRAPH 2026 Conference Papers},
  year    = {2026},
}