Albedo, diffuse, and base color are three labels that overlap just enough to create arguments and differ just enough to break materials. The practical solution is to stop treating the filename as a physics paper and ask what information the shader expects.
The short production answer
In a modern metallic-roughness workflow, base color is the usual name for the color texture supplied to the material. Many artists also call that texture albedo. It should avoid scene lighting such as cast shadows and glossy highlights.
A diffuse map in an older or non-PBR pipeline may represent surface color, but it may also contain baked shading, ambient occlusion, or hand-painted highlights. That extra information can fight a PBR shader that wants normal, roughness, metallic, AO, and lighting to do those jobs separately.
Why albedo is a loaded word
In rendering theory, albedo describes reflected energy and can be defined more precisely than a texture-painting label. In production conversations, people often use it to mean "the color without lighting." That shorthand is useful as long as the team agrees on it.
Do not assume a file is physically measured because its suffix is _albedo. Check the pixels. A photographed wall with a window shadow remains a lit photograph after renaming.
What should be removed from base color?
- Cast shadows from nearby objects.
- Directional highlights and reflections.
- Dark crevice shading intended for AO or real lighting.
- Fake edge highlights intended to imitate a normal or bevel.
Keep pigment, stains, paint variation, printing, oxidation color, and the characteristic color of bare metal. Removing lighting does not mean making the texture uniform.
Metal changes how base color is used
In a metallic workflow, a dielectric such as plastic, stone, wood, paint, or skin uses base color primarily for its diffuse appearance. A metal uses base color to tint its reflected light and has little or no ordinary diffuse component.
This is why a metalness mask matters. Painted steel has non-metal paint over metal. The painted region and exposed scratches use the same base-color texture differently because the metallic map classifies them differently.
How major systems label the input
| System | Common label | Practical meaning |
| glTF 2.0 | baseColorTexture | RGBA base color and alpha for the defined material model |
| Unreal Engine | Base Color | Overall material color input |
| Blender Principled BSDF | Base Color | Surface color used by the shader model |
| Roblox SurfaceAppearance | ColorMap | Color or albedo map; documentation warns against baked lighting |
Different label, similar job. The channel and shader documentation matter more than matching one preferred word.
A photo-to-base-color checklist
- Correct perspective and lens distortion.
- Remove broad illumination gradients and cast shadows.
- Reduce or reconstruct specular highlights.
- Keep true pigment and material-color variation.
- Test the map on a neutral shader under rotating light.
If the material appears to have a fixed light direction after the scene light moves, the color map still contains lighting.
Avoid impossible endpoint values
Real materials rarely need large areas of absolute digital black or white in base color. Unreal's physically based material guidance publishes measured examples ranging from very dark charcoal and asphalt to bright snow, which is useful evidence that "black" and "white" materials still sit inside a reflectance range. Use reference values as a check, not a paint-by-number rule: exposure, artistic style, and the exact shader still affect the final image.
When a stylized diffuse map is valid
Stylized and unlit workflows may intentionally paint shadows and highlights into a diffuse or color texture. That is not wrong. It is a different contract. Problems begin when the same file is fed into a physically based lit shader and receives a second set of shadows and highlights.
Name that intent clearly. A hand-painted unlit diffuse set and a lighting-free PBR base-color set can both belong in one project, but they should not share an ambiguous export preset.
The useful rule is simple: know what is baked into the color file, know what the shader will add, and avoid paying for the same light twice.