Skip to content
 
 

Repository files navigation

AutoPBR

AutoPBR generates a PBR overlay for a Minecraft resource pack (input .zip / .jar) by creating:

  • LabPBR specular (*_s.png)
  • Normal maps (*_n.png, with height packed in alpha for POM-style workflows)

Output is a separate .zip containing only generated textures + pack.mcmeta / pack.png (when present). Stack it above the base pack in-game.

Projects

  • src/AutoPBR.App: desktop UI (Avalonia)
  • src/AutoPBR.Cli: command-line tool
  • src/AutoPBR.Core: conversion engine

Requirements

  • .NET 8 (SDK to build, runtime to run)
  • Optional GPU normals (DeepBump) and GPU specular (my own model): uses ONNX Runtime CUDA on Windows when CUDA/cuDNN DLLs are available. See src/AutoPBR.Core/Data/native/README.md.

CLI (quick start)

dotnet run --project src/AutoPBR.Cli -- "in_pack.zip" "out_pack_PBR.zip" --fast --normal 1.5 --height 0.12

Common flags:

  • --fast
  • --normal <float>
  • --height <float>
  • --ignore-plants
  • --tag-rules <file.json>

App (quick start)

dotnet run --project src/AutoPBR.App

Development builds

For daily App UI work, build only the App stack (not the full solution with all test projects):

dotnet build src/AutoPBR.App/AutoPBR.App.csproj
# or open AutoPBR.App.slnf in the IDE
Work Build target
App UI / OpenGL preview AutoPBR.App.slnf or App csproj
Core conversion / CLI Core + Cli csproj
Parity / geometry AutoPBR.Core.slnf or full solution

See build performance for timings, binlogs, and F5/Cursor launch setup.

Build

dotnet build AutoPBR.sln

Quality Standards

ML specular (optional)

AutoPBR can use an ONNX specular predictor (diffuse -> _s RGBA) when enabled in the app/CLI.

Trainer + sample dataset live in tools/MlSpecularTrainer. Channel semantics and ONNX ↔ LabPBR alignment are documented in docs/ml-specular-labpbr-contract.md.

Tags & semantic material (Explore)

About

LabPBR generator for Minecraft

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages