OpenViSTAI · Agents · Blockchain · Crypto
Menu
Image & Video AI

Paint3D

Paint3D is a Python generative framework that creates high-resolution, lighting-free UV texture maps for untextured 3D meshes from text or image inputs. It uses a coarse-to-fine pipeline: depth-aware diffusion and multi-view fusion create an initial texture, followed by UV inpainting and UVHD refinement to address gaps and illumination artifacts. The repository includes scripts for the two stages and describes 2K tex

Independent OpenViST project profile, based on linked sources.

Paint3D — OpenViST project profile in Image & Video AI.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Paint3D when you have an untextured 3D mesh and want a text- or image-conditioned UV texture, particularly when avoiding baked illumination is important for subsequent relighting or editing.

Who it is for

  • 3D artists and technical artists preparing textures for untextured meshes.
  • Developers and researchers exploring diffusion-based 3D texturing or adapting the repository's Python workflow.

Documented uses

  • Generate a UV texture for a mesh from a text description.
  • Use an image as conditioning for a mesh texture.
  • Refine an initial texture to address incomplete UV regions and lighting artifacts.
  • Produce lighting-free texture maps that can be relit or edited in a graphics pipeline.
Before you choose

Requirements & limits

The public GitHub repository distributes the code under the Apache 2.0 license. The documented usage is a local Python setup, not a hosted service.

  • The documented setup uses Python, Conda, Kaolin 0.13.0, PyTorch 1.12.1, and CUDA 11.6; the README identifies CentOS 7 as its tested environment.
  • The text and image workflows use different conditioning inputs, while both document coarse generation followed by refinement.
  • The output is a UV texture map, not a generated 3D mesh.
  • The project targets lighting-free textures, allowing later relighting or editing in graphics pipelines.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Generate and refine a text-conditioned mesh texture

Use the documented two-stage command-line workflow to create a coarse UV texture and pass it into refinement.

Before you start

  • Python environment created from environment.yaml with Conda.
  • Kaolin 0.13.0 installed.
  • The README's stated test setup is CentOS 7 with PyTorch 1.12.1 and CUDA 11.6.
  • An untextured 3D mesh; the example uses an OBJ file.
  • ControlNet models and configuration paths set as described in the README.

Steps

  1. Create the environment with conda env create -f environment.yaml.

  2. Install Kaolin 0.13.0 using the README's pip command and the matching PyTorch/CUDA values.

  3. Run pipeline_paint3d_stage1.py with the depth-based inpainting configuration, render configuration, mesh path, and an output directory.

  4. Run pipeline_paint3d_stage2.py with the UV-based inpainting configuration, the same mesh, and the stage-one albedo.png path as the texture input.

Expected outcome

The documented workflow writes a coarse texture in the stage-one output directory and uses it as input to the refinement stage.

Guide limitations

  • The README's example commands use a repository demo mesh and configured model paths; it does not establish results for arbitrary meshes or environments.
  • The stated CentOS, PyTorch, and CUDA setup is the repository's tested setup, not a compatibility guarantee.
Source-based practical guide

Generate and refine a mesh texture from an image condition

Follow the README's image-conditioned two-stage example using a mesh and reference image.

Before you start

  • The Python, Kaolin, PyTorch, and CUDA setup described in the README.
  • An untextured 3D mesh and an image to use as the condition.
  • ControlNet configuration and model paths set as described in the README.

Steps

  1. Create the Conda environment and install Kaolin 0.13.0 as described in the setup instructions.

  2. Run pipeline_paint3d_stage1.py with the depth-based inpainting configuration, mesh path, a blank prompt, image path, and output directory.

  3. Run pipeline_paint3d_stage2.py with the UV-based inpainting configuration, mesh path, stage-one albedo.png, the same image path, a blank prompt, and an output directory.

Expected outcome

The documented example produces a coarse image-conditioned texture and supplies it to the refinement stage.

Guide limitations

  • The README shows an example using repository demo assets; broader input behavior is not specified.
  • The stated environment is a documented test setup, not a compatibility guarantee.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
OpenTexture/Paint3D · Official homepage title · retained in its source language