This folder contains the main documentation for Materialize CLI (in English). For a Portuguese overview, see README_PT.md.
Materialize CLI is a command-line tool that converts a diffuse/albedo image into six PBR (Physically Based Rendering) maps using GPU compute shaders via wgpu. Based on the original Materialize (Unity/Windows), this CLI version is:
- Minimal — No GUI, no Unity; command-line only
- Fast — GPU processing via compute shaders
- Cross-platform — Linux, Windows, macOS via wgpu
- Straightforward — One command, six output maps
From the GameDev repository root (parent of this Materialize/ folder):
cd /path/to/GameDev
./install.sh materializeSee docs/INSTALLING.md.
Requirements: Python 3 (for the installer), Rust/cargo (to build).
git clone https://github.com/maikramer/Materialize-CLI.git
cd Materialize-CLI
# Linux/macOS
./install.sh
# Or run the Python installer directly
python3 installer/installer.py install
# Uninstall
./install.sh uninstall
# or
python3 installer/installer.py uninstallThe installer runs cargo build --release and copies the binary to ~/.local/bin/materialize. Ensure ~/.local/bin is on your PATH.
Windows: use install.ps1 (PowerShell) or install.bat (CMD).
cargo build --release
cargo install --path .# Generate all maps from a texture
materialize texture.png
# Output files:
# texture_height.png, texture_normal.png, texture_metallic.png,
# texture_smoothness.png, texture_edge.png, texture_ao.png
# Specify output directory
materialize texture.png -o ./output/
# Choose output format
materialize texture.png --format exr| Document | Description |
|---|---|
| Architecture | System structure and components |
| Features | Capabilities and behavior |
| CLI API | Command-line reference, options, env vars, shell completion |
| Algorithms | Processing algorithms (height, normal, metallic, etc.) |
| Shaders | WGSL compute shaders |
| Roadmap | Future plans and ideas |
- Rust 1.75+
- GPU with Vulkan (Linux), Metal (macOS), or DirectX 12 (Windows) support; up-to-date drivers
MIT. Based on the original Materialize by Bounding Box Software.