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.
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.
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
Create the environment with conda env create -f environment.yaml.
Install Kaolin 0.13.0 using the README's pip command and the matching PyTorch/CUDA values.
Run pipeline_paint3d_stage1.py with the depth-based inpainting configuration, render configuration, mesh path, and an output directory.
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.
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
Create the Conda environment and install Kaolin 0.13.0 as described in the setup instructions.
Run pipeline_paint3d_stage1.py with the depth-based inpainting configuration, mesh path, a blank prompt, image path, and output directory.
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.
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

