Texture mapping is a technique used to add surface detail to 3D graphics. It involves mapping a 2D texture image onto a 3D object's surface. Originally, surface detail required complex geometry, but texture mapping allows using simpler geometry while incorporating texture patterns. It works by applying an image to geometry at the rasterization stage. This allows "complex" textures without increasing geometric complexity. Common techniques include 2D, environment, and bump mapping.