The 3D Handbook
Chapter

How surfaces work

Read these pages in order, or jump to the one you need.

  1. Physically based rendering (PBR)TopicWhat "physically based" means for a texture artist; energy conservation, Fresnel and microfacets in plain words; metal/roughness versus specular/gloss; safe value ranges; the classic mistakes; and the newer layered models (OpenPBR, Substrate).
  2. Colour space: sRGB and linearKey termWhy colour textures are stored in sRGB but lit in linear space, how the sRGB curve turns stored values into light, which maps must skip the conversion, and what goes wrong when the flag is set wrongly.
  3. Texture maps explainedReferenceEvery common texture map in one place; what it stores, whether it is colour (sRGB) or data (linear), how it is usually stored and compressed, and where it plugs into Unreal, Unity and Godot.
  4. Base colour (albedo) mapKey termThe texture that holds a surface's colour with no lighting in it; diffuse colour for non-metals, reflection colour for metals. Covers safe brightness ranges, measured reference values and the usual mistakes.
  5. Roughness mapKey termA greyscale texture that says how smooth or rough a surface is at a scale too small to model; black is mirror-smooth, white fully matte. It often carries most of the wear and surface variation in a PBR material.
  6. Metallic mapKey termA greyscale mask that tells a PBR shader which pixels are metal (white) and which are not (black); it should be almost entirely pure black and white, with grey only for dirt, oxidation and filtered edges.
  7. Normal mapKey termA texture that stores a surface direction in every pixel, so a low-poly mesh shades as if it had more detail. Covers how the colours encode directions, tangent versus object space, the OpenGL/DirectX green channel, compression, and blending detail normals.
  8. Ambient occlusionKey termHow much surrounding ambient light can reach each point of a surface; baked AO maps versus screen-space AO versus Lumen and other real-time GI, and the long-running debate about multiplying AO into the base colour.
  9. Height and displacement mapsKey termA greyscale texture that stores how far each point sits above or below the surface; used for parallax and parallax occlusion mapping (fake depth), for real displacement and tessellation (including Nanite), and for height blending.
  10. Parallax occlusion mappingKey termA pixel-shader technique that marches the view ray through a height map to fake deep surface relief on flat polygons; how the ray march works, step counts and their cost, self-shadowing and depth offset, the flat silhouette, and how POM compares with tessellation and Nanite displacement.
  11. Channel packing (ORM)Key termStoring several greyscale maps in the red, green, blue and alpha channels of one texture, such as occlusion, roughness and metallic (ORM). Covers the common layouts in Unreal, Unity (HDRP mask map, URP) and Godot, import settings, and the trade-offs.
  12. Texture formats, compression and mipmapsTopicHow game engines store textures on the GPU; the BCn family (BC1, BC3, BC4, BC5, BC7) on desktop and console, ASTC and ETC2 on mobile, normal map compression, sRGB flags, mipmaps and power-of-two sizes, texture streaming, memory arithmetic and Unreal's texture groups.
  13. MipmapsKey termThe chain of half-size copies every 3D texture carries; why distant textures shimmer without them, how the GPU picks and blends levels (bilinear, trilinear, anisotropic), mip filtering and sharpening, what mips do to alpha-tested foliage and glossy normal maps, and the settings in Unreal, Unity and Godot.
  14. Texture streamingKey termLoading only the mip levels each texture needs for the current view, within a memory budget; how Unreal and Unity do it, the pool size and mip bias settings, why over-budget scenes go blurry, what cannot be streamed, and how artists keep streaming healthy.
  15. Bit depth and bandingKey termHow many steps a texture channel can store (8, 16 or 32 bits), why smooth normal and height maps band at 8 bits, how dithering hides it, which file formats keep the precision, and why a terrain heightmap must be 16-bit.
  16. Emissive materialsKey termMaterials that give off light of their own, from screens and neon to lava; HDR values, bloom and exposure, physical units (nits, EV100), when emissive surfaces light the scene (Lumen, baked lighting, Godot GI) and when you still need real lights, with settings in Unreal, Unity, Godot and glTF.
  17. Opacity, masked and translucent materialsKey termThe three ways engines draw see-through surfaces, masked (alpha test), translucent (alpha blend) and dithered or hashed; what each costs, why foliage thins out at a distance and how coverage-preserving mips fix it, sorting and shadow problems, alpha to coverage, and the settings in Unreal, Unity, Godot and glTF.
  18. Specular aliasingKey termThe sparkling and shimmering of highlights on glossy, bumpy or finely detailed surfaces; why mipmapped normal maps and dense geometry cause it, how studios fix it in content (Toksvig, roughness mips, The Order 1886) and at runtime (TAA, geometric specular AA, roughness limiters), and what artists can do.