Rebuild texture visualization as a production PBR viewer
ComfyUI Texture Simple
An interactive PBR material viewer inside ComfyUI. Preview any combination of color, displacement, normal, ambient-occlusion, metalness, roughness, and alpha maps on built-in primitives or your own GLB/OBJ mesh.
Features
- Modern ComfyUI DOM-widget integration
- Sphere, cube, torus, plane, and multi-object showcase
- Local GLB and OBJ mesh loading in the browser
- Batch-aware texture-map selection with single-map broadcasting
- Live roughness, metalness, displacement, normal, AO, repeat, and background controls
- Optional auto-rotation
- PNG screenshots and GLB, GLTF, or OBJ export
- Pinned local Three.js assets with no CDN dependency
- Correct copy/paste, collapse, resize, removal, and WebGL cleanup
- Stale-load cancellation and visible errors
Installation
Install with ComfyUI Manager, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-Texture-Simple.git
python -m pip install -r ComfyUI-Texture-Simple/requirements.txt
Restart ComfyUI after installation.
Usage
- Add Texture Viewer from
visualization/3D. - Connect any texture maps you have and queue the workflow.
- Choose a built-in mesh, or select Load GLB/OBJ for a local model.
- Open Material to tune PBR values and texture tiling.
When one texture input contains a single image and another contains a batch, the single texture is reused for every frame. Other mismatched batch sizes produce a clear error.
GLB is the recommended export format. OBJ contains geometry only. The glTF material standard does not support displacement maps, so displacement remains a live preview control rather than a baked glTF property.
Development
python -m pip install pytest
pytest -q
The browser assets are vendored from Three.js 0.185.1. Its MIT license is in
web/vendor/THREE-LICENSE.txt.
Acknowledgements
Thanks to MrForExample and the ComfyUI community for the original viewer patterns and feedback.