Turning Images Into Game-Ready PBR Textures With Python (Offline, No Subscriptions)
Source: Dev.to
Overview
Creating PBR (Physically Based Rendering) textures is a repetitive but unavoidable task in modern 3D, game development, and rendering pipelines. Many developers need a solution that is:
- Offline
- Scriptable or extensible
- Free from subscriptions
- Easy to integrate into existing workflows
PBR Texture Generator Pro is a lightweight desktop tool written in Python that converts regular images into full PBR texture sets in seconds.
The Problem With Traditional PBR Workflows
A single PBR material usually requires multiple maps:
- Base Color
- Normal
- Height / Displacement
- Roughness
- Metallic
- Ambient Occlusion
Generating these manually for large texture libraries or procedural workflows quickly becomes a bottleneck. Many popular tools also rely on cloud processing, accounts, or monthly payments — which isn’t ideal for CI pipelines, air‑gapped machines, or internal studio tools.
A Python‑First Approach
PBR Texture Generator Pro is built entirely with Python, using:
- OpenCV for image processing
- NumPy for fast numerical operations
- Tkinter + ttkbootstrap for a clean GUI
- OpenEXR for HDR texture export
Everything runs locally—no APIs, no external services.
How It Works (High Level)
- Load image(s) from disk
- Convert to grayscale for map derivation
- Generate maps using classic image‑processing techniques:
- Sobel filters for normal maps
- Gaussian blur and inversion for AO
- Histogram equalization for roughness
- Thresholding for metallic
- Apply user‑controlled strength parameters
- Export results as PNG or EXR
Batch processing is handled safely, and jobs can be canceled at any time without freezing the UI.
Key Features Developers Care About
- ✅ Batch processing for folders
- ✅ Safe start / stop controls
- ✅ Sequential filenames (photogrammetry & pipelines)
- ✅ GPU acceleration via OpenCV when available
- ✅ EXR support for linear workflows
- ✅ Portable EXE — no installation required
- ✅ Full Python source code included
Suitable for:
- Internal tools
- Educational projects
- Indie studios
- Research workflows
Seamless Tiling for Games
The tool uses mirrored borders to prevent visible seams, making the output immediately usable in engines like Unreal Engine and Unity—no post‑processing needed.
EXE or Source Code — Your Choice
The project is available in three formats:
- Windows EXE — instant usage, no Python required
- Full Python source code — fully hackable
- Bundle — both EXE and source
This flexibility makes it usable by both artists and engineers.
Why Not Just Use a Script?
You could write scripts for this—and many do. But when you need:
- A clean UI
- Batch safety
- Error handling
- Logging
- Cross‑team usability
a small, focused desktop tool often wins.
Get the Tool
If you’re interested in using or extending the tool, you can grab PBR Texture Generator Pro here:
👉 Gumroad:
Final Thoughts
This project started as an internal utility and grew into a polished tool after repeated use in real workflows. If you work with textures regularly and want something you fully own and control, this might fit nicely into your toolkit. Feature ideas and extensions are welcome—the source version is intentionally open and readable.