ECCV 2026

RenderFormer V2

Neural Rendering with Heterogeneous Scene Primitives

A pretrained transformer that turns a sequence of mixed scene primitives into a globally illuminated image.

1Stanford University2Microsoft Research3College of William & Mary
Nine scenes rendered by RenderFormer-V2, as a three by three plate: three teapots against a plaid backdrop, a living room, a transparent spaceship in a scattering medium, a bunny-shaped participating medium, the Lucy statue in a Cornell box at 2048 by 2048, a pile of glossy cubes, a refractive torus, environment-lit spheres, and a textured dining interior.
Nine scenes from one set of weights, with no per-scene training or fine-tuning. The centre plate is 2048 × 2048.
Highlights
128K
primitives in one forward pass. RenderFormer-V1 stops at 4K
20482
output pixels, with no upsampling stage
+9.9 dB
PSNR over RenderFormer-V1 at 128K triangles, with 4.8× lower LPIPS
3.5×
faster than RenderFormer-V1, and 4.7× faster than Cycles
No
per-scene training, fine-tuning or hand-written transport code
Overview

One model for effects that usually need one code path each.

We present RenderFormer-V2, a unified transformer-based neural rendering model, complementary to modern physics-based renderers, that handles diverse light transport effects such as refraction, volumetric scattering, environment lighting, textured and displaced surfaces and out-of-distribution materials, all without per-scene training or specialized code.

RenderFormer-V2 models global light transport as a sequence-to-sequence transformation. Following RenderFormer-V1, it uses a two stage process: a view-independent stage that resolves primitive-to-primitive transport inside the scene, and a view-dependent stage that turns the internal neural scene representation into image pixels. Three things are new. The view-independent stage combines windowed attention with a render-aware attention sink, which is what lets the model scale. The scene sequence admits heterogeneous primitives, including environment maps and participating media. And materials are described by a neural embedding of appearance rather than by the parameters of a fixed reflectance model.

What changed since RenderFormer-V1

RenderFormer-V1RenderFormer-V2
Scene primitivesTriangles onlyTextured triangles, volume elements, triangular light sources, environment maps and camera ray bundles, all as tokens of one sequence
MaterialsHard-coded per-triangle GGX BRDFA 9-D latent appearance space independent of any reflectance model, plus per-triangle SVBRDF, normal and displacement textures
LightingUp to 8 diffuse triangular light sourcesTriangular light sources plus HDR environment maps, each in dedicated tokens
View-independent attentionFull self-attention, O(T²)Hilbert-curve serialization, a local sliding window of 512, and a render-aware attention sink of registers, lights and summaries
View-dependent attentionFull self-attention over all ray bundlesSWIN windowed attention, window 8 and shift 4, so context size is independent of resolution
Positional encodingTriangle-specific 9-D RoPE, camera in camera spaceOne centroid-based RoPE in world space for every token type
Demonstrated scaleUnder 4K triangles at 512 × 512Over 128K primitives at up to 2048 × 2048
01 / Architecture

A scene is a token sequence.

  • Geometry, participating media, area lights, environment maps and camera rays are each represented as tokens of one sequence.
  • The view-independent stage resolves primitive-to-primitive transport; the view-dependent stage turns ray bundles into pixel values.
  • No rasterization and no ray tracing anywhere in the model, and no hard-coded camera transformation.
The RenderFormer-V2 pipeline: scene encoding, a view-independent stage with sparse self-attention, and a view-dependent stage
Scene encoding turns every primitive type into tokens of one sequence. The view-independent stage sorts them along a Hilbert curve and applies sparse self-attention. The view-dependent stage cross-attends ray bundles into the result, applies SWIN self-attention and decodes pixels with a DPT decoder.
What each token carries
Triangle
3 vertices and 3 normals; a 9-D material code; a 32 × 32, 13-channel patch (9 material, 3 normal, 1 displacement) through a frozen VAE
Voxel medium
rotation and per-axis scale; a 43 grid of RGB scattering, RGB absorption and phase anisotropy
Area light
3 vertices and 3 normals; RGB emittance, in its own token rather than fused into geometry
Environment map
LDR and log-HDR 512 × 256, each through a frozen VAE into an 8 × 4 token sequence; a direction map; log-max intensity
Camera bundle
8 × 8 ray directions, in world space

A single positional encoding covers all of them: RoPE on the primitive centroid, with position-less tokens falling back to the scene centroid, so the whole embedding is translation invariant.

02 / Coverage

One model, many light transport effects.

  • Refraction, environment lighting, volumetric scattering, textures and displacement, all from a single architecture and a single set of weights.
  • No effect-specific code path: each effect is learned by example.
Refraction
Refraction
Environment lighting
Environment lighting
Volume, participating media
Volume, participating media
Textures, SVBRDFs
Textures, SVBRDFs
Displacement mapping
Displacement mapping
Complex interior scene
Complex interior scene
03 / Material

A data-driven reflectance model.

  • No hard-coded reflectance model.
  • A 9-D latent space encodes appearance: a sphere under a fixed light probe, encoded by a CNN.
  • The code is never explicitly decoded. The model learns to evaluate reflectance from it directly, under the actual view and lighting.
a sphere under a fixed light probeCNN encoder
9-D appearance code

zm ∈ [−1, 1]9, added straight into the primitive token, and never explicitly decoded.

analytical BRDF parametersPrincipled, GGX, transparentMLP
fitted afterwards: skips the render

The key observation is that the latent code does not need to be invertible to the input BRDF parameters. Because the space is defined by rendered appearance, any material you can render is usable, including measured BRDFs never seen in training. Spatially varying materials come from rasterizing per-triangle 32 × 32 patches of latent material properties, local normals and a displacement height offset, then compressing them with a pretrained VAE.

tSNE visualization of the learned 9-D latent material appearance space
The 9-D space, under tSNE. Materials that look alike land near each other, which is the only property the model needs from the space.
Reference and RenderFormer-V2 renders of measured BRDFs encoded in the learned material space
Measured BRDFs, unseen in training. Reference and ours, interleaved. The encoder was trained only on the Disney principled BRDF, yet the space is expressive enough to hold measured reflectance.
04 / Attention

What is the attention sink?

  • Nearby primitives dominate transport, so each attends inside a ±256 window of the Hilbert order.
  • What is not local, such as illumination and coarse occlusion, goes into the sink instead.
  • The sink is always attended, and it attends back to every token.
View-independent attention mask
16 registersup to 8 lights1 summary per 64 primitivesgeometryO(T²) → O(T (512 + T/32))

Every row is one query and every column one key, painted in the colour of the key it reads. Sink and window widths are exaggerated for legibility: the real sink is about 1.6% of the sequence.

Why Hilbert order

Sorting the primitives along a Hilbert curve makes neighbours in space localized in the sequence, so a one-dimensional sliding window buys a spatial one.

Three kinds of sink token

16 registers

Free scratch space for whatever is globally true of the scene.

Every light

Each primitive sees each light whatever the distance, which is the attention analogue of importance sampling the lights.

Summaries

Mean-pooling every 64 geometry tokens keeps long-range occlusion in reach, coarsely: distant detail does not matter.

What loss of focus looks like at 83K triangles

RenderFormer-V1 at 83.2K triangles, globally darkened
RenderFormer-V1
RenderFormer-V2 at 83.2K triangles
RenderFormer-V2

Dense attention over 83K triangles has to spread itself over too many tokens, which darkens the whole image. The sink keeps the highlight and the contact shadow.

05 / Evaluation

What does each part contribute?

  • Held-out scenes, with every variant trained through the 16K-primitive stage.
  • Sparse attention beats full attention, because dense attention tends to lose focus.
  • All timings are measured on a single NVIDIA A100. Blender Cycles uses 4,096 adaptive samples per pixel, the setting the training images were rendered with.
Quality vs scene size
Lower is better
RenderFormer-V2RenderFormer-V1
Data table
PrimitivesRenderFormer-V2RenderFormer-V1
4,0960.01980.0244
8,1920.03050.0358
16,3840.05020.0604
32,7680.07290.1500
65,5360.08730.3070
131,0720.09990.4772
Runtime vs scene size
Seconds per frame, lower is better
RenderFormer-V2RenderFormer-V1Cycles
Data table
PrimitivesRenderFormer-V2RenderFormer-V1Cycles
1,5970.0470.0573.63
2,5570.0500.0613.76
6,3970.0690.0814.00
12,2770.1120.1424.24
21,7570.1800.2594.37
63,2770.5381.204.86
83,1970.6821.884.95
127,2331.123.925.25
Runtime vs resolution
A 64K-triangle scene
RenderFormer-V2RenderFormer-V1Cycles
Data table
ResolutionRenderFormer-V2RenderFormer-V1Cycles
512²0.5251.315.13
768²0.7911.629.41
1024²1.232.2015.1
1536²2.334.0831.1
2048²3.927.7853.8
3072²8.5024.8127.3
4096²14.965.1216.8

On a linear y axis you can see RenderFormer-V1 climbing towards Cycles at 128K primitives while RenderFormer-V2 stays low. Cycles is drawn dashed because it is the path-traced reference rather than a third method.

Render quality vs primitive count

RenderFormer-V1 was trained on 4K triangles, and we found training it for larger meshes to be unstable. The two methods are comparable up to 8K triangles. Beyond 16K, RenderFormer-V1 degrades sharply while RenderFormer-V2 keeps rendering.

RenderFormer-V1, 6.4K
RenderFormer-V1, 6.4K
RenderFormer-V1, 21.8K
RenderFormer-V1, 21.8K
RenderFormer-V1, 83.2K
RenderFormer-V1, 83.2K
RenderFormer-V2, 6.4K
RenderFormer-V2, 6.4K
RenderFormer-V2, 21.8K
RenderFormer-V2, 21.8K
RenderFormer-V2, 83.2K
RenderFormer-V2, 83.2K
TrianglesPSNR ↑SSIM ↑LPIPS ↓FLIP ↓
4K33.84 / 34.51.9776 / .9823.0198 / .0244.1025 / .0838
8K33.00 / 32.89.9682 / .9708.0305 / .0358.1230 / .1079
16K29.96 / 29.36.9457 / .9418.0502 / .0604.1932 / .1555
32K28.07 / 24.17.9205 / .8451.0729 / .1500.2387 / .3080
64K26.79 / 18.72.9020 / .6651.0873 / .3070.2609 / .5313
128K25.82 / 15.88.8847 / .4604.0999 / .4772.3220 / .7466

Each cell reads RenderFormer-V2 / RenderFormer-V1.

Resolution

Because the view-dependent stage uses windowed attention, its context size does not grow with resolution, which makes RenderFormer-V2 easy to fine-tune for higher resolutions. Interestingly, at higher resolution the model also resolves fine geometry more faithfully, such as the dragon's claws and Lucy's face and hands, even though both renders contain exactly the same triangles.

Dragon, 512
Dragon, 512
Dragon, 2048
Dragon, 2048
Lucy, 512
Lucy, 512
Lucy, 2048
Lucy, 2048

Ablation of the sparse attention

Every component matters, and, surprisingly, the sparse variant outperforms full attention, which we attribute to full attention having to distribute itself over too many tokens. Test scenes follow the training distribution but use held-out environment maps, SVBRDFs and shapes.

Attention variantPSNR ↑SSIM ↑LPIPS ↓HDR-FLIP ↓
RenderFormer-V228.25.8982.0997.4200
w/o attention sink27.36.8841.1247.4359
w/o sliding window26.92.8715.1289.4517
sink w/o lights27.40.8813.1081.4250
sink w/o summaries27.09.8754.1210.4485
sink w/o both26.13.8474.1514.4959
summaries 1 : 3227.78.8923.1072.4231
summaries 1 : 12826.48.8690.1346.4655
summaries 1 : 25626.93.8663.1316.4580
full attention27.91.8953.1027.4287
All components
All components
w/o attention sink
w/o attention sink
w/o sliding window
w/o sliding window
sink w/o lights & summaries
sink w/o lights & summaries

Training

RenderFormer-V2 is trained end to end on about 10M procedurally generated scenes (roughly 70 TB) spanning 2562 to 20482 resolutions and 1K to 64K primitives, each rendered offline with Blender Cycles at 4,096 samples per pixel. A five-stage curriculum first teaches coarse-scale light transport with full attention at 1K primitives, then adds SVBRDFs, environment lighting and volumes, raises the resolution to 5122, switches to the sparse attention mechanism, and finally scales the primitive budget to 16K and then 64K at 20482. Total training time is 19 days on 32 A100 GPUs, after which no fine-tuning or per-scene training is needed to render a new scene.

Poster

Everything above, on one sheet.

The RenderFormer-V2 poster for ECCV 2026: a masthead with five headline numbers, then five numbered sections covering the token sequence, the effects one model covers, the data-driven reflectance model, the attention sink and the evaluation.

ECCV 2026, 1400 × 1000 mm at 1:1. Open the full PDF (3 MB). This is the RGB version, which is what you want on screen; the FOGRA39 CMYK file is for the printer.

Limitations

What it still cannot do.

RenderFormer-V2 is limited to at most 8 light sources per scene, a constraint inherited from its training data; more complex lighting is better modeled with an environment map. Like RenderFormer-V1, it is trained on single frames and does not explicitly enforce temporal coherence. Texture resolution is fixed per primitive at 32 × 32, so large triangles can show texture-quality degradation, which subdividing them resolves. Finally, while new primitive types are easy to add architecturally, they are most effective when introduced in the first training stage, and therefore typically require significant retraining.

BibTeX

@inproceedings{zeng2026renderformerv2,
    title      = {RenderFormer-V2: Neural Rendering with Heterogeneous Scene Primitives},
    author     = {Chong Zeng and Yue Dong and Pieter Peers and Lvmin Zhang and Maneesh Agrawala},
    booktitle  = {European Conference on Computer Vision (ECCV)},
    year       = {2026}
}

Chong Zeng was supported by the Stanford Graduate Fellowship. This work was partially supported by the Brown Institute for Media Innovation at Stanford University.