DirectUV

NeurIPS 2026

DirectUV

Image-Conditioned UV Texture Generation with Surface-Aware Positional Encoding

Jiantao Lin1,* Yingjie Xu1,3,* Mingzhi Sheng1 Yangkai Wei3 Hao Chen2 Ying-Cong Chen1,2,†

1The Hong Kong University of Science and Technology (Guangzhou) 2The Hong Kong University of Science and Technology 3knowin.ai

*Equal contribution  ·  †Corresponding author

The idea

A UV seam cuts a neighbourhood in two. Only one of these encodings can put it back together.

Below, a mesh is unwrapped into four UV islands. Pick a texel next to a seam: its neighbours on the surface end up on a different island, at the other end of the UV map. Whether attention can still relate them depends on how position is measured.

Standard DiT

2D-grid positional encoding

surface neighbours it can attend to

UV map position = grid index

On the mesh

Ours

Surface-Aware Positional Encoding

surface neighbours it can attend to

UV map position = 3D surface coordinate

On the mesh

  • the texel being generated
  • texels it attends to as neighbours
  • neighbours on the surface that it cannot reach
  • UV seam

Move over any view to place the texel yourself. Schematic illustration on a torus, not model output: neighbours are the tokens within a fixed radius, measured in each encoding's own coordinates.

Video

A five-minute narrated walkthrough of the problem, the method and the results.

Abstract

Generating high-quality UV textures for 3D meshes remains challenging. Multi-view projection pipelines suffer from occlusion and view inconsistency, and recent methods that generate textures directly in UV space still rely on auxiliary modules to supply 3D information, leaving the attention mechanism tied to UV-grid positions rather than to the underlying surface geometry. This mismatch limits coherence across seams and disconnected UV islands.

We propose DirectUV, an image-conditioned UV texture diffusion framework that operates in the latent UV space of a pretrained image VAE, in which a Diffusion Transformer denoises the UV latent given a single input image and a coarse UV map. At its core, Surface-Aware Positional Encoding (SAPE) replaces the standard 2D-grid positional encoding with encodings derived from per-token 3D surface coordinates obtained via UV-to-surface correspondence. As positional encodings define the distance metric that attention operates on, SAPE enables tokens to attend to each other based on true surface proximity rather than UV-grid distance, restoring coherence across seams and disconnected islands. A multi-level extension further assigns different attention heads to progressively finer subdivisions of the same latent UV patch, allowing the model to reason about surface structure at multiple granularities.

Experiments show that DirectUV produces sharper and more globally consistent textures than other baselines, with the largest improvements in occluded and view-unseen regions where projection-based methods leave gaps or stretched textures.

Method

Positional encodings define the distance metric that attention is compelled to operate on. So instead of handing the model 3D geometry as one more condition it may or may not follow, DirectUV writes the surface into the positional encoding itself.

Pipeline. Training (top): the reference image is encoded by CLIP into a pooled feature that drives AdaLN modulation, and by DINOv2 into patch tokens for the joint-attention stream. A coarse UV map is encoded by the frozen Flux VAE and channel-concatenated with the noisy UV latent. The Canonical Coordinate Map (CCM) supplies per-head RoPE coordinates for Multi-Level SAPE. Inference (bottom): an off-the-shelf multi-view generator produces views that are projected into a coarse UV map; Euler steps then denoise the UV latent, which the VAE decodes into the final texture.

Generate the UV map itself

The UV map is the sole generation target, denoised in the latent space of a frozen Flux VAE. The reference image and the coarse UV map are conditioning signals only. Nothing is projected and then refined, so view-dependent artifacts have no path into the output.

Rotate by surface coordinates

SAPE reads each token's 3D surface coordinate from the CCM and uses it as the RoPE position. The query–key dot product then depends only on the offset between two points on the surface, so texels split across a seam attend to each other directly.

One granularity per head

Multi-Level SAPE subdivides the same latent patch into 1×1, 2×2 and 4×4 cells and gives each attention head exactly one cell. Coarse correspondence and sub-patch detail coexist on disjoint head slices, with no added parameters or modules.

SAPE and Multi-Level SAPE. Left: tokens i and j are adjacent on the mesh but land on different UV islands. SAPE measures their attention distance on the surface, allowing direct interaction across the seam. Right: the CCM is read at L = 3 resolutions and assigned to the 24 heads in 4 groups of six: one level-0 head, one level-1 head and four level-2 heads per group.

Comparison

All methods receive the same mesh and a single front-facing reference image. Renderings use identical lighting.

Finer detail
High-frequency patterns stay sharp. The line strokes on the number block survive where other methods blur or misalign them.
Occluded regions
Inside the well and the trash bin, where no camera sees clearly, DirectUV fills in coherent, plausible content.
Conflicting views
On the fan, UniTEX carries the back-cover texture onto the front blades. Denoising in UV space resolves the conflict and keeps the right appearance.

Google Scanned Objects

The full GSO set is disjoint from the training data, so it serves as an out-of-distribution test. Each textured mesh is rendered under albedo shading from viewpoints with full directional coverage, including top-down and bottom-up, and compared against ground truth.

Bold best  ·  underline second best

MethodPSNR ↑SSIM ↑FID ↓KID ↓
TEXGen24.450.941744.0934.32
FlexPainter23.210.946347.0439.25
Hunyuan3D-2.124.740.945039.87233.34
UniTEX24.230.950442.1139.21
DirectUV25.130.952739.1730.03

Ablation

What each part of the positional encoding buys, with the rest of the model held fixed.

VariantPSNR ↑SSIM ↑FID ↓KID ↓
w/o SAPE23.820.937658.4272.36
SAPE, single level24.360.946240.8636.74
Multi-Level SAPE25.130.952739.1730.03
Without SAPE
With the standard 2D UV-grid RoPE, mesh-adjacent texels on different charts cannot interact. Appearance diverges between islands: on the chocobo, the black of the legs appears on the neck.
Without multiple levels
Tying every head to the level-0 coordinate keeps seams coherent but cannot tell sub-token positions apart, so detail inside each latent patch collapses into blur.

More results

Behaviour beyond the benchmark: imperfect conditioning, missing views, and meshes that come out of shape generators.

The coarse UV map guides. It does not dictate.

Here the coarse UV map paints the underside of the keyboard white. The reference image and the surrounding surface point to a continuous dark metal casing, and the final texture follows them rather than copying the coarse values.

Zero, one, two or four projected views

During training the number of views behind the coarse UV map is sampled from {0, 1, 2, 4}. At inference the model stays plausible across all of them, including a completely blank coarse UV map, where it relies on the reference image and the surface-aware denoising alone.

Meshes from image-to-3D generators

Paired with shape generators such as Tripo and Rodin, DirectUV completes an image-to-textured-mesh pipeline: the generator produces the mesh, and DirectUV textures it from the same image, across the varied topologies and UV layouts these models output.

Limitation

DirectUV depends on the quality of the UV parameterization. When a layout is shattered into many small slivers and corner patches, each token's surface coordinate averages over a large region per fragment, the CCM signal turns coarse, and the multi-level subdivision cannot fully recover local detail. The result is blur and colour leakage in those regions. UV-aware preprocessing or a tokenization learned for UV-space data are natural next steps.

Heavily fragmented UV layouts (top) lead to blurred or colour-leaked regions on the wrapped texture (bottom).

BibTeX

If DirectUV is useful in your work, please cite the paper.

@article{lin2026directuv,
  title   = {DirectUV: Image-Conditioned UV Texture Generation
             with Surface-Aware Positional Encoding},
  author  = {Lin, Jiantao and Xu, Yingjie and Sheng, Mingzhi and
             Wei, Yangkai and Chen, Hao and Chen, Ying-Cong},
  journal = {arXiv preprint arXiv:2609.34651},
  year    = {2026}
}