DEV Community

Mate Technologies
Mate Technologies

Posted on

๐Ÿš€ PBR Texture Generator Pro โ€” Build Production-Ready Materials in Seconds

If youโ€™ve ever needed to turn a simple image into a full PBR texture set (BaseColor, Normal, Roughness, AO, etc.), you know how time-consuming it can be.

So I built something to fix that.

๐Ÿ‘‰ Get it here: https://gum.new/gum/cmk79c11p001u04jvfyqz3jbu

๐ŸŽฏ What is PBR Texture Generator Pro?

PBR Texture Generator Pro โ€” Blending Visuals is a desktop tool designed for:

๐ŸŽฎ Game developers (Unity / Unreal)
๐ŸŽจ 3D artists (Blender, Maya, Houdini)
๐Ÿงฑ Environment & material designers

It converts a single image into a complete physically based rendering (PBR) texture set โ€” automatically.

โšก Key Features
๐Ÿง  Smart Map Generation

From one input image, the tool generates:

Base Color
Normal Map (via Sobel gradients)
Height / Displacement
Roughness
Metallic
Ambient Occlusion
โš™๏ธ Real-Time Material Controls

Fine-tune your textures with intuitive sliders:

Height Strength โ†’ Controls displacement intensity
Normal Strength โ†’ Boosts surface detail
Roughness Contrast โ†’ Adjusts material sharpness
AO Strength โ†’ Deepens shadows
Metallic Threshold โ†’ Defines metal vs non-metal
๐Ÿ“‚ Batch Processing Mode

Process entire folders effortlessly:

Select a directory
Generate full PBR sets for each image
Errors wonโ€™t interrupt the batch
๐Ÿ” Seamless Texture Tiling

Create tileable textures for games and environments:

Uses mirrored borders
Eliminates visible seams
Perfect for repeating surfaces
๐Ÿงช Multiple Output Formats

Choose the format that fits your pipeline:

8-bit PNG โ†’ Fast previews
16-bit PNG โ†’ High-quality maps
EXR (OpenEXR) โ†’ HDR, linear workflow
โšก GPU Acceleration (Auto-Detect)

The app detects CUDA support automatically:

USE_CUDA = cv2.cuda.getCudaEnabledDeviceCount() > 0
GPU available โ†’ Faster processing
No GPU โ†’ Safe CPU fallback
๐Ÿ–ฅ๏ธ Built With

This project combines a powerful stack:

Tkinter + ttkbootstrap โ†’ Modern desktop UI
OpenCV โ†’ Image processing engine
NumPy โ†’ Fast numerical operations
OpenEXR โ†’ High-dynamic-range output
๐Ÿงฉ How It Works (Under the Hood)
๐Ÿ”๏ธ Height Map
height = cv2.normalize(gray * height_strength.get(), None, 0, 65535, cv2.NORM_MINMAX)
๐ŸŒŠ Normal Map (Sobel Filter)
sobelx = cv2.Sobel(gray, cv2.CV_32F, 1, 0)
sobely = cv2.Sobel(gray, cv2.CV_32F, 0, 1)
๐ŸŒ‘ Ambient Occlusion
ao = cv2.GaussianBlur(255 - gray, (21, 21), 0)
๐Ÿชจ Roughness
rough = cv2.equalizeHist(gray)
๐Ÿงฒ Metallic Map
_, metal = cv2.threshold(gray, metal_threshold.get(), 255, cv2.THRESH_BINARY)
๐Ÿงต Clean UI + Threaded Processing

No freezing, no lag.

The generator runs in a separate thread, keeping the UI responsive:

threading.Thread(target=start, daemon=True).start()

Includes:

โœ… Live progress bar
โœ… Scrollable logs
โœ… Cancel anytime
๐Ÿงฐ Real-World Use Cases
Game-ready materials (Unreal / Unity)
Blender rendering pipelines
Texture libraries
Procedural prototyping
Environment art
๐Ÿ“ฆ Why This Tool?

Most tools either:

Require node setups (slow)
Are expensive
Or overcomplicated

This one is:

โšก Fast
๐Ÿง  Smart
๐Ÿ–ฅ๏ธ Offline
๐ŸŽฏ Focused
๐Ÿš€ Final Thoughts

If you're working with materials, textures, or 3D pipelines, this tool can save you hours of manual work.

๐Ÿ‘‰ Try it here: https://gum.new/gum/cmk79c11p001u04jvfyqz3jbu

Top comments (0)