The ArmorPaint viewport is your primary canvas for inspecting mesh geometry and evaluating your texture work in real time. It supports sixteen distinct display modes that let you isolate individual PBR channels, visualize UV coordinates and mesh data, or switch to a fully path-traced preview — all without leaving the painting session. Understanding these modes helps you catch errors early and make informed decisions about your material as you build it up layer by layer.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/armory3d/armorpaint/llms.txt
Use this file to discover all available pages before exploring further.
Switching Viewport Modes
Press Ctrl+M to cycle through all available viewport modes in sequence. The active mode is stored in theviewport_mode field of the application config and persists across sessions.
Display Modes
Lit (0)
VIEWPORT_MODE_LIT — The default fully-lit PBR rendering mode. All texture channels contribute to the final shaded result, including lighting, reflections, and post-processing effects.Base Color (1)
VIEWPORT_MODE_BASE_COLOR — Displays the raw base color (albedo) channel without any lighting. Useful for checking colour accuracy and brush strokes in isolation.Normal Map (2)
VIEWPORT_MODE_NORMAL_MAP — Shows the tangent-space normal map channel. The classic blue-purple tint makes it easy to spot seams, baking errors, or missing normal detail.Occlusion (3)
VIEWPORT_MODE_OCCLUSION — Displays the ambient occlusion channel as a greyscale image. Bright areas receive full ambient light; dark areas are occluded.Roughness (4)
VIEWPORT_MODE_ROUGHNESS — Shows the roughness channel in greyscale. White values indicate fully rough (diffuse) surfaces; black values indicate mirror-like surfaces.Metallic (5)
VIEWPORT_MODE_METALLIC — Displays the metallic channel. White means fully metallic; black means fully dielectric.Opacity (6)
VIEWPORT_MODE_OPACITY — Shows the opacity channel as a greyscale mask. White areas are fully opaque; black areas are fully transparent.Height (7)
VIEWPORT_MODE_HEIGHT — Displays the height (displacement) channel. Useful for checking displacement detail and verifying high-to-low bake results.Emission (8)
VIEWPORT_MODE_EMISSION — Shows the emission channel, representing surfaces that emit light. Bright values indicate high emissive intensity.Subsurface (9)
VIEWPORT_MODE_SUBSURFACE — Displays the subsurface scattering channel, used for materials like skin, wax, and translucent plastics.Tex Coord (10)
VIEWPORT_MODE_TEXCOORD — Renders a UV coordinate visualization. The red channel maps to U and the green channel maps to V, making UV distortion and stretching immediately visible.Object Normal (11)
VIEWPORT_MODE_OBJECT_NORMAL — Displays the object-space normal. Unlike the tangent-space normal map view, this shows normals relative to the object’s own coordinate system.Material ID (12)
VIEWPORT_MODE_MATERIAL_ID — Visualizes each material slot as a unique pseudo-random colour, helpful for verifying multi-material mesh setups.Object ID (13)
VIEWPORT_MODE_OBJECT_ID — Assigns a unique colour to each object in the scene, making it easy to distinguish overlapping or touching objects.Mask (14)
VIEWPORT_MODE_MASK — Displays the current layer mask as a greyscale image. White pixels are fully painted; black pixels are fully masked out.Path Trace (15)
VIEWPORT_MODE_PATH_TRACE — Activates the hardware-accelerated Brute Pathtracer for a physically accurate viewport preview. Requires a DXR, Vulkan RT, or Metal RT capable GPU. See Path Tracing for full details.Render Modes
ArmorPaint provides three underlying render pipelines selectable via therender_mode config field:
- Deferred (0)
- Forward (1)
- Path Trace (2)
RENDER_MODE_DEFERRED — The default render pipeline. Geometry is written to a multi-layer G-buffer (base colour, packed roughness/metallic/occlusion, normal) and lighting is resolved in screen space. Supports SSAO, bloom, and supersampling.Render Settings
The following fields in the applicationconfig struct control viewport quality and post-processing. They can be adjusted in Preferences → Viewport.
rp_supersample — Supersampling Multiplier
rp_supersample — Supersampling Multiplier
A floating-point scale factor applied to all render targets. Values greater than
1.0 render at a higher internal resolution and downsample to the display, reducing aliasing at the cost of GPU memory and fill rate. A value of 4.0 enables the maximum supersampling path in the renderer.rp_ssao — Screen-Space Ambient Occlusion
rp_ssao — Screen-Space Ambient Occlusion
Enables or disables the screen-space ambient occlusion pass. When active, a multi-pass SSAO shader samples the depth buffer to approximate contact shadows in crevices. SSAO is automatically disabled when the camera is in orthographic mode.
rp_bloom — Bloom Post-Processing
rp_bloom — Bloom Post-Processing
Enables a multi-pass bloom effect that bleeds bright areas into neighbouring pixels, simulating lens glow. The bloom pipeline performs iterative mip-chain downsampling followed by upsampling with configurable radius.
rp_vignette — Vignette Strength
rp_vignette — Vignette Strength
Controls the strength of the screen-edge vignette effect. A value of
0.0 disables vignetting entirely; 1.0 applies maximum darkening at the viewport corners. Default value is 0.2.rp_grain — Film Grain
rp_grain — Film Grain
Sets the intensity of a film grain overlay. At
0.0 no grain is added; higher values introduce progressively stronger noise. Default value is 0.09.lut_path — Color Grading LUT
lut_path — Color Grading LUT
Path to a
.cube LUT file used for colour grading the final viewport output. Leave empty to disable LUT colour grading. The file is loaded at startup when the path is non-empty and the file exists.texture_filter — Texture Filtering
texture_filter — Texture Filtering
When
true, textures are sampled with bilinear/trilinear filtering for a smooth appearance. When false, nearest-neighbour sampling is used, which can be useful for pixel-art style workflows or when inspecting individual texels at close range.Camera Types
ArmorPaint supports two camera projection modes, toggled with the 5 key (view_camera_type):
| Value | Constant | Description |
|---|---|---|
0 | CAMERA_TYPE_PERSPECTIVE | Standard perspective projection. Objects appear smaller with distance, mimicking natural vision. Default mode. |
1 | CAMERA_TYPE_ORTHOGRAPHIC | Parallel projection with no perspective foreshortening. Ideal for UV inspection, planar painting, and precise alignment tasks. Note: SSAO is disabled in this mode. |
View Presets
Use numeric key shortcuts to snap the camera to standard orthographic view angles instantly:| Shortcut | Action | Description |
|---|---|---|
| 1 | view_front | Front view |
| Ctrl+1 | view_back | Back view |
| 3 | view_right | Right view |
| Ctrl+3 | view_left | Left view |
| 7 | view_top | Top view |
| Ctrl+7 | view_bottom | Bottom view |
| 0 | view_reset | Reset camera to default position |
Distraction-Free Mode
Press F11 (view_distract_free) to toggle distraction-free mode, which hides all UI panels and sidebars so the viewport fills the entire application window. Press F11 again to restore the normal layout.
Overlay Options
Additional overlay options can be toggled from the context to aid inspection during painting:Wireframe
draw_wireframe — Renders a wireframe overlay on top of the mesh, exposing polygon topology. Useful for checking geometry density and UV seam placement. Default: false.Texels
draw_texels — Overlays a texel grid that maps the texture resolution onto the mesh surface. Helps identify areas of texel stretch or compression. Default: false.Compass
show_compass — Displays a small orientation compass in the viewport corner that mirrors camera rotation. Default: true.