Creating PBR (Physically Based Rendering) textures is a repetitive but unavoidable task in modern 3D, game development, and rendering pipelines. While there are powerful commercial tools available, many developers want something that is:
Offline
Scriptable or extensible
Free from subscriptions
Easy to integrate into existing workflows
That’s why I built PBR Texture Generator Pro — 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)
At a high level, the tool follows a simple pipeline:
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
This makes it suitable for:
Internal tools
Educational projects
Indie studios
Research workflows
Seamless Tiling for Games
One feature I found essential for game development is seamless texture tiling.
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:
https://gum.new/gum/cmk79c11p001u04jvfyqz3jbu
Final Thoughts
This project started as an internal utility and grew into a polished tool after repeated use in real workflows. If you’re working with textures regularly and want something you fully own and control, this might fit nicely into your toolkit.
If you have feature ideas or want to extend it further, the source version is intentionally open and readable.

Top comments (0)