PBR Material Previewer

BetaThis tool is in beta. Some features may change or have limited functionality.

Upload and preview PBR texture maps on 3D shapes in real time. Supports albedo, normal, roughness, metallic, and ambient occlusion maps with adjustable tiling, intensity, and environment lighting.

Texture Maps

Albedo / Color

Base color of the surface

Normal Map

Surface detail (blue-ish image)

Roughness

Grayscale: white = rough

Metallic

Grayscale: white = metal

Ambient Occlusion

Grayscale shadow map

Loading 3D scene...

Click and drag to rotate. Scroll to zoom. Right-click to pan.

Understanding PBR Materials and Texture Maps

Physically Based Rendering (PBR) is the industry-standard approach for creating realistic materials in 3D applications. PBR materials use a set of texture maps that describe how light interacts with a surface, producing consistent and predictable results across different lighting conditions and rendering engines.

Core Texture Maps

  • Albedo (Base Color): The base color of the surface without any lighting or shadow information. This map defines the diffuse color that the material reflects.
  • Normal Map: Encodes surface detail as RGB data, simulating bumps, grooves, and fine geometry without adding extra polygons. Blue-dominant images indicate outward-facing normals.
  • Roughness Map: A grayscale map where white represents rough surfaces (matte) and black represents smooth surfaces (glossy). Controls how sharply reflections appear.
  • Metallic Map: A grayscale map where white indicates metal and black indicates non-metal (dielectric). Metals reflect their environment color, while non-metals reflect white light.
  • Ambient Occlusion (AO): A grayscale map that darkens crevices and recessed areas where ambient light is occluded, adding depth and realism to the material.

The PBR Workflow

PBR follows an energy-conservation principle: a surface cannot reflect more light than it receives. The metallic-roughness workflow (used by glTF, Unreal Engine, Unity, and most game engines) separates materials into metallic and non-metallic, then uses roughness to control reflection sharpness. This produces physically accurate results that look correct in any lighting scenario.

Applications

PBR materials are used extensively in game development, film VFX, product visualization, architectural rendering, and virtual reality. Understanding how each map contributes to the final look allows artists to create convincing materials efficiently.

Frequently Asked Questions

What is PBR and why is it important?
PBR stands for Physically Based Rendering, a shading model that simulates how light interacts with surfaces in the real world. It is important because it produces consistent, realistic results across different lighting environments, making materials look correct whether they are in bright sunlight or dim indoor light.
What file formats are supported for texture uploads?
This tool supports common image formats including PNG, JPG, and WebP. For best results, use PNG for normal maps and roughness/metallic maps to avoid compression artifacts. Albedo maps can use JPG to reduce file size.
What is a normal map and how does it work?
A normal map is an RGB texture where each pixel's color encodes a surface direction (normal vector). The red channel represents the X axis, green represents the Y axis, and blue represents the Z axis. This allows the renderer to simulate detailed surface bumps and grooves without adding extra geometry to the mesh.
What is the difference between roughness and metallic maps?
The roughness map controls how blurry or sharp reflections appear on the surface, ranging from perfectly smooth (mirror-like, value 0) to fully rough (matte, value 1). The metallic map determines whether the surface behaves as a metal (value 1) or a non-metal/dielectric (value 0). Metals tint their reflections with their base color, while non-metals reflect white light.
Can I use this tool to check texture tiling?
Yes. Use the Repeat X and Repeat Y controls to tile the texture multiple times across the surface. This is particularly useful for verifying that seamless textures tile correctly without visible seams. Try setting both values to 3 or 4 and inspect the result on a plane or cube shape.