CLI minimalista em Rust que converte imagens em materiais PBR (Physically Based Rendering) usando compute shaders GPU via wgpu.
Materialize CLI é uma ferramenta de linha de comando que transforma uma imagem difusa em seis mapas PBR:
- Height Map - Representação de elevação da superfície
- Normal Map - Vetores de superfície para iluminação
- Metallic Map - Máscara de metalicidade
- Smoothness Map - Rugosidade/suavidade (base + contribuição metálica)
- Edge Map - Detecção de bordas a partir da normal
- AO Map - Ambient Occlusion (cavity-style a partir do height)
Baseado no Materialize original (Unity/Windows), esta versão CLI é:
- Minimalista - Sem UI, sem Unity, apenas linha de comando
- Rápida - Processamento GPU via compute shaders
- Cross-platform - Linux, Windows, macOS via wgpu
- Direta - Um comando, múltiplas saídas
Requisitos: Python 3 (para o instalador), Rust/cargo (para compilar).
# Clone o repositório
git clone https://github.com/maikramer/Materialize-CLI
cd Materialize-CLI
# Linux/macOS
./install.sh
# Ou diretamente com Python
python3 installer/installer.py install
# Desinstalar
./install.sh uninstall
# ou
python3 installer/installer.py uninstallO instalador compila com cargo build --release e copia o binário para ~/.local/bin/materialize. Garanta que ~/.local/bin está no seu PATH.
Windows: use install.ps1 (PowerShell) ou install.bat (CMD).
cargo build --release
cargo install --path .# Gerar todos os mapas a partir de uma textura
materialize texture.png
# Saída gerada:
# - texture_height.png, texture_normal.png, texture_metallic.png
# - texture_smoothness.png, texture_edge.png, texture_ao.png
# Especificar diretório de saída
materialize texture.png -o ./output/
# Escolher formato de saída
materialize texture.png --format exr- Arquitetura - Estrutura e componentes do sistema
- Funcionalidades - Recursos e capacidades
- CLI API - Interface de linha de comando
- Algoritmos - Detalhes dos algoritmos de processamento
- Shaders - Documentação dos shaders WGSL
- Roadmap - Desenvolvimento futuro
- Rust 1.75+
- GPU com suporte a Vulkan (Linux), Metal (macOS), ou DirectX 12 (Windows)
- Drivers atualizados
MIT - Baseado no Materialize original por Bounding Box Software