Overview
ArmorPaint is examined as an integrated dataflow centered on an editable PBR project. The series follows one surface decision from project entities and runtime timing through node parsing, generated shader contexts, GPU painting, live previews, history, persistence, export, plugins, baking, and alternate renderers. Its thesis is that continuity comes from preserving relationships while representations change, not from treating the surface as one bitmap. This integration supports reusable materials, coordinated channels, reversible edits, and multiple consumers, but it also creates resource pressure, target-specific feature gates, build and file dependencies, and cross-subsystem coupling. The repository establishes these implementation mechanisms and configured boundaries, not universal performance, compatibility, or user-experience claims.
Learning outcomes
- ArmorPaint keeps editable PBR meaning in a project model that feeds rendering, history, persistence, export, and alternate consumers.
- A surface edit crosses coordinated representations: project entities, runtime dirty state, shader contexts, backend resources, and visible output.
- Shared GPU and build layers preserve a common contract across targets, while feature gates and resource limits make behavior platform-dependent.
- Integration enables reusable materials, reversible painting, and multiple workflows, but costs memory, rebuild work, portability complexity, and coupling.
Keywords
Preview every chapter · Unlock full text, audio, and video from chapter 4
PlansFAQ
What is ArmorPaint’s core architectural model?
ArmorPaint is an integrated dataflow centered on an editable PBR project, not a bitmap canvas with a renderer attached afterward. Project meaning flows through runtime state, shaders, GPU work, saved projects, and exports.
How does ArmorPaint keep a material edit consistent across the viewport and project file?
ArmorPaint keeps the material relationship in project state, refreshes dependent fill, shader, preview, and render data, and serializes the graph and layer links so the relationship can be reconstructed.
How portable is ArmorPaint across GPUs and platforms?
ArmorPaint uses shared application and GPU contracts across targets, but it does not promise identical features or behavior everywhere. Backends, build tools, shader artifacts, feature gates, and resource limits shape each target’s execution.
What is the difference between saving an ArmorPaint project and exporting textures?
Saving preserves editable graphs, layers, relationships, and assets; exporting flattens selected project state into target channel images. An export can preserve chosen appearance and PBR meanings but cannot restore discarded editability.