SurfaceDebugChannel enum Rendering
A surface value the renderer can show in place of the lit result.
Every channel is display-referred: the resolve pass hands its pixels
through untouched, so a scalar of 0.5 is mid gray on screen and a color
channel is display-encoded in the shader. Scalars run through the
DebugView range and gain, directions map through 0.5 * v + 0.5, and a
channel a material does not carry draws a gray checkerboard.
Values
- none → const SurfaceDebugChannel
-
const SurfaceDebugChannel(0, 'none', 'Off', SurfaceDebugGroup.none) - worldNormal → const SurfaceDebugChannel
-
The interpolated geometric normal, before any normal map.
const SurfaceDebugChannel(1, 'world_normal', 'World normal', SurfaceDebugGroup.geometry) - shadingNormal → const SurfaceDebugChannel
-
The shading normal after the normal map.
const SurfaceDebugChannel(2, 'shading_normal', 'Shading normal', SurfaceDebugGroup.geometry) - tangent → const SurfaceDebugChannel
-
const SurfaceDebugChannel(3, 'tangent', 'Tangent', SurfaceDebugGroup.geometry) - bitangent → const SurfaceDebugChannel
-
const SurfaceDebugChannel(4, 'bitangent', 'Bitangent', SurfaceDebugGroup.geometry) - tangentHandedness → const SurfaceDebugChannel
-
Black for a left-handed tangent frame, white for right-handed.
const SurfaceDebugChannel(5, 'tangent_handedness', 'Tangent handedness', SurfaceDebugGroup.geometry) - uv0 → const SurfaceDebugChannel
-
const SurfaceDebugChannel(6, 'uv0', 'UV 0', SurfaceDebugGroup.geometry) - uv1 → const SurfaceDebugChannel
-
const SurfaceDebugChannel(7, 'uv1', 'UV 1', SurfaceDebugGroup.geometry) - vertexColor → const SurfaceDebugChannel
-
const SurfaceDebugChannel(8, 'vertex_color', 'Vertex color', SurfaceDebugGroup.geometry) - viewDirection → const SurfaceDebugChannel
-
const SurfaceDebugChannel(9, 'view_direction', 'View direction', SurfaceDebugGroup.geometry) - worldPosition → const SurfaceDebugChannel
-
World position remapped through the range (default -10..10 per axis).
const SurfaceDebugChannel(10, 'world_position', 'World position', SurfaceDebugGroup.geometry, rangeMin: -10.0, rangeMax: 10.0) - faceOrientation → const SurfaceDebugChannel
-
Front faces blue, back faces red. A red face the camera should see is wound the wrong way.
const SurfaceDebugChannel(11, 'face_orientation', 'Face orientation', SurfaceDebugGroup.geometry) - uv0Checker → const SurfaceDebugChannel
-
A colored checker on the first UV set, out-of-range cells in red.
const SurfaceDebugChannel(12, 'uv0_checker', 'UV 0 checker', SurfaceDebugGroup.geometry) - uv1Checker → const SurfaceDebugChannel
-
The same checker on the second UV set (the lightmap set).
const SurfaceDebugChannel(13, 'uv1_checker', 'UV 1 checker', SurfaceDebugGroup.geometry) - depthGap → const SurfaceDebugChannel
-
The smallest gap two parallel surfaces need here to keep their depth order, as a power of ten in meters on a blue to red ramp (default range a hundredth of a millimeter to a meter): eight depth-buffer steps or a sixteenth of a pixel of the surface's own depth slope, whichever is larger. An overlay closer to its surface than this flickers (z-fighting) unless its
Material.depthLayeris higher.const SurfaceDebugChannel(14, 'depth_gap', 'Depth gap', SurfaceDebugGroup.geometry, rangeMin: -5.0, rangeMax: 0.0) - baseColor → const SurfaceDebugChannel
-
const SurfaceDebugChannel(20, 'base_color', 'Base color', SurfaceDebugGroup.surface) - alpha → const SurfaceDebugChannel
-
const SurfaceDebugChannel(21, 'alpha', 'Alpha', SurfaceDebugGroup.surface) - metallic → const SurfaceDebugChannel
-
const SurfaceDebugChannel(22, 'metallic', 'Metallic', SurfaceDebugGroup.surface) - roughness → const SurfaceDebugChannel
-
const SurfaceDebugChannel(23, 'roughness', 'Roughness', SurfaceDebugGroup.surface) - specular → const SurfaceDebugChannel
-
const SurfaceDebugChannel(24, 'specular', 'Specular', SurfaceDebugGroup.surface) - occlusion → const SurfaceDebugChannel
-
const SurfaceDebugChannel(25, 'occlusion', 'Occlusion', SurfaceDebugGroup.surface) - emissive → const SurfaceDebugChannel
-
Linear emissive radiance, display-encoded; raise the gain for dim emitters or lower it for bright ones.
const SurfaceDebugChannel(26, 'emissive', 'Emissive', SurfaceDebugGroup.surface) - clearcoat → const SurfaceDebugChannel
-
const SurfaceDebugChannel(40, 'clearcoat', 'Clearcoat', SurfaceDebugGroup.physical) - clearcoatRoughness → const SurfaceDebugChannel
-
const SurfaceDebugChannel(41, 'clearcoat_roughness', 'Clearcoat roughness', SurfaceDebugGroup.physical) - clearcoatNormal → const SurfaceDebugChannel
-
const SurfaceDebugChannel(42, 'clearcoat_normal', 'Clearcoat normal', SurfaceDebugGroup.physical) - sheenColor → const SurfaceDebugChannel
-
const SurfaceDebugChannel(43, 'sheen_color', 'Sheen color', SurfaceDebugGroup.physical) - sheenRoughness → const SurfaceDebugChannel
-
const SurfaceDebugChannel(44, 'sheen_roughness', 'Sheen roughness', SurfaceDebugGroup.physical) - transmission → const SurfaceDebugChannel
-
const SurfaceDebugChannel(45, 'transmission', 'Transmission', SurfaceDebugGroup.physical) - transmissionColor → const SurfaceDebugChannel
-
const SurfaceDebugChannel(46, 'transmission_color', 'Transmission color', SurfaceDebugGroup.physical) - diffuseTransmission → const SurfaceDebugChannel
-
const SurfaceDebugChannel(47, 'diffuse_transmission', 'Diffuse transmission', SurfaceDebugGroup.physical) - anisotropy → const SurfaceDebugChannel
-
const SurfaceDebugChannel(48, 'anisotropy', 'Anisotropy', SurfaceDebugGroup.physical) - anisotropyDirection → const SurfaceDebugChannel
-
const SurfaceDebugChannel(49, 'anisotropy_direction', 'Anisotropy direction', SurfaceDebugGroup.physical) - iridescence → const SurfaceDebugChannel
-
const SurfaceDebugChannel(50, 'iridescence', 'Iridescence', SurfaceDebugGroup.physical) - iridescenceThickness → const SurfaceDebugChannel
-
Iridescence film thickness in nanometers (default range 0..1200).
const SurfaceDebugChannel(51, 'iridescence_thickness', 'Iridescence thickness', SurfaceDebugGroup.physical, rangeMin: 0.0, rangeMax: 1200.0) - ior → const SurfaceDebugChannel
-
Index of refraction (default range 1..3).
const SurfaceDebugChannel(52, 'ior', 'Index of refraction', SurfaceDebugGroup.physical, rangeMin: 1.0, rangeMax: 3.0) - specularColor → const SurfaceDebugChannel
-
const SurfaceDebugChannel(53, 'specular_color', 'Specular color', SurfaceDebugGroup.physical) - objectColor → const SurfaceDebugChannel
-
A stable color per node, so joined meshes, duplicates, and instance boundaries read at a glance.
const SurfaceDebugChannel(60, 'object_color', 'Object color', SurfaceDebugGroup.identity) - materialColor → const SurfaceDebugChannel
-
A stable color per material instance.
const SurfaceDebugChannel(61, 'material_color', 'Material color', SurfaceDebugGroup.identity) - validation → const SurfaceDebugChannel
-
Every validation flag at once, over a flat gray.
const SurfaceDebugChannel(70, 'validation', 'Validation', SurfaceDebugGroup.validation) - nonFinite → const SurfaceDebugChannel
-
Red for NaN, green for infinity, blue for a negative color.
const SurfaceDebugChannel(71, 'non_finite', 'Non-finite values', SurfaceDebugGroup.validation) - baseColorRange → const SurfaceDebugChannel
-
Dielectric base color outside the plausible albedo band, blue too dark and red too bright.
const SurfaceDebugChannel(72, 'base_color_range', 'Base color range', SurfaceDebugGroup.validation) - metallicBinary → const SurfaceDebugChannel
-
Yellow where metallic is neither 0 nor 1.
const SurfaceDebugChannel(73, 'metallic_binary', 'Non-binary metallic', SurfaceDebugGroup.validation) - normalLength → const SurfaceDebugChannel
-
Orange where the interpolated normal is far from unit length.
const SurfaceDebugChannel(74, 'normal_length', 'Normal length', SurfaceDebugGroup.validation) - missingTangent → const SurfaceDebugChannel
-
Pink where a normal map perturbs a surface that has no tangents.
const SurfaceDebugChannel(75, 'missing_tangent', 'Missing tangent', SurfaceDebugGroup.validation) - uvRange → const SurfaceDebugChannel
-
Yellow where the first UV set leaves the unit square.
const SurfaceDebugChannel(76, 'uv_range', 'UV range', SurfaceDebugGroup.validation) - custom → const SurfaceDebugChannel
-
The
material.debugvalue a.fmatwrote inSurface(), shown raw.const SurfaceDebugChannel(80, 'custom', 'Custom (material.debug)', SurfaceDebugGroup.custom)
Properties
- group → SurfaceDebugGroup
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Stable snake-case id for settings, tools, and the registry.
final
- index → int
-
A numeric identifier for the enumerated value.
no setterinherited
- label → String
-
Menu label.
final
- name → String
-
Available on Enum, provided by the EnumName extension
The name of the enum value.no setter - rangeMax → double
-
final
- rangeMin → double
-
The default scalar remap range for this channel.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- shaderId → int
-
The id the shader switches on; mirrors
DEBUG_CHANNEL_*inmaterial_debug.glsl.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
byId(
String id) → SurfaceDebugChannel? -
The channel with
id, or null.
Constants
-
values
→ const List<
SurfaceDebugChannel> - A constant List of the values in this enum, in order of their declaration.