[Graphics]Differences Between Light Map and Shadow Map
Keywords: Graphics, Rendering, Lightmap, Shadow Map, Differences
Light maps only for static objects. Plus, it can bake shadow, lighting, global illumination, ambient occlusion etc. onto the light maps because it’s pre-calculated.
Shadow maps are only for dynamic/moving objects (you can use it for static objects, but you will get performance problems if there are many objects around) and only for shadows
Origin: Light Map / Shadow Map differences?
From the past few years working on different engines (source, unreal, idtech, infernal) here’s my take:
’lightmap’ is a general term describing the medium at which baked lighting is applied: lighting thats baked to an image, or group of images, which are then multiplied overtop of existing geometry to create shadows. Baking them, as oppose to dynamic (real-time) or vertex lighting generally results in soft, more accurate shadows at the cost of texture memory.
‘ao maps’ and ‘shadowmaps’ are more specific types of lightmaps pertaining to the method at which their shadows are created. An AO map is a lightmap who’s baked information can come from a highpoly (or sometimes low poly) to generate non-directional shadows (see multiple descriptions in replies above this one). A ‘shadowmap’ is a lightmap that was created / baked by casting shadows from specific light sources, and generally results in soft(er) lighting than other alternatives (real-time/dynamic/vertex) depending on the proximity of the objecting casting shadows to the source of light. Generally both types have lots of options (number of light bounces, buffer, ray distances, etc).
as kawe mentioned there is a big difference between ao/light maps and shadow maps. AO/light maps contains color information (more light, less light, color bounce etc) while shadow maps store depth information (usually the depth of the scene viewed from the light). That’s the common definition of shadow map, and that’s how a programmer is likely to understand it. Now of course you can bake shadows into a texture, but that’s not a shadow map.
i think brice hit the nail on the head for shadow maps bang-on.
AO maps- i would take that as the map you bake out to overlay on a t-page to darken areas and small details across the objects surface, this contains only shadows generated by that object as it is created in isolation. it could be a map generated across a whole scene to simulate AO between objects BUT this is unlikely these days as it is generally more effecient to bake this sort of lighting into vertices due to memory constraints and the fact that it wouldnt look much better infact could look worse.
lightmaps- these are scene wide maps (or collections of maps) that can describe the complex lighting solutions, they can as Adam pointed out multiply over the diffuse to darken areas down, but most that i have worked with actually add light.
hdr lightmaps- these are lightmaps that use higher range textures (very expensive) or stretched normal bit textures ( artefacting/banding issues due to compression and stretching of values)
directional lightmaps- these use multiple maps to not only describe colour and intensity but direction aswell. much like a normal map, a directional lightmap will usually have three seperate textures, each channel in the texture describes a direction and each texture a colour value (rgb), but these can be swapped about depending on engine.
Origin: Baking map - AO, lightmap, shadowmap - what is a difference.
A shadowmap could be considered the same thing as a shadow buffer, which is in the light properties in Blender. These are your standard dynamic BGE shadows. They are good for dynamic scenes and lights. Shadow buffers are really depth buffers rendered from the camera’s point of view, and are used to compute shadows.
Alternatively, a shadowmap could be a texture that records how much contribution each point on a surface receives from a light. Basically, it records shadows, but is pre-baked. I don’t think this kind of shadowmap is possible in Blender, but could be implemented with a custom shader. Good for static lights and scenes that are too large for Blender’s shadow buffers to be practical.
A lightmap is a (usually pre-baked) texture that stores the overall lighting for a surface, potentially including AO, indirect lighting, and sometimes even shadows and sunlight. Light maps are added to the total lighting(they are often mixed with dynamic lights) for a surface. They are good for static AO and indirect lighting, but not always good for direct(directly from a light source) lighting, as they are incompatible with normal maps. I think this kind of lightmap was added to Blender in the Harmony branch, but I’ve never played around with it, so I don’t know how the new lightmaps work exactly, or how to enable them.