Home Technical Talk

Baking map - AO, lightmap, shadowmap - what is a difference..


  • EarthQuake
    Well, they all could possibly be the same thing. An AO map will generally be baked as non-directional shadows, be it from a highpoly source model, or just the lowpoly itself. Shadowmap could also just be another term for AO, or Lightmap. A lightmap will generally contain some sort of directional lighting, typically a level would have baked lighting in the form of a lightmap, or many small lightmaps. But you could also simply use a AO bake as your lightmap. This is all very dependant on exectly what you're doing, what engine you're using, etc. If you have some more specific questions it would be easier to answer.
  • BradMyers82
    Offline / Send Message
    BradMyers82 interpolator
    Yeah, as EQ said; normally those are all consider the same. I have heard people differentiate between AO and Dirt maps though. Is this what you are looking for?

  • Kawe
    Offline / Send Message
    Kawe polycounter lvl 8
    That is confusing.

    This is what I know... not entirely sure though:

    A shadow map is basically your scene drawn from a light's perspective. Then you project this image onto your current scene to figure out if something is casting a shadow. The big difference from lightmap and AO is that the actual map doesnt use the UVs of your objects. It uses what your shadowcasting light "sees".

    The result of a shadow map could be baked down to a lightmap though.

    The big difference between AO and lightmap would be that a lightmap could contain otehr lighting information as well as being colored... AOs are greyscale.
  • ivars
    Offline / Send Message
    ivars polycounter lvl 13
    AO is usually calculated using only geometry info
    lightmap/shadowmap is rendered using actual lights

    Kawe: I think a lightbake can also be referred to as either a shadow- or lightmap depending on how the texture info is being processed in the shader. If it's used to darken the shadows or brighten the lit parts.
  • sama.van
    Offline / Send Message
    sama.van polycounter lvl 13
    Quickly on 3dsmax and maya...

    You can also try this 3dsmax plug in, it's a really good one!!!! ^_^!!!

    - lightmap : Will keep only the color of your light dark and light, but you have to be careful. In game we usually chose a special mode for applying the lightmap on the diffuse... then the black is supposed to diseapear... and light colors will stay.

    - shadow map : same with lightmap but will keep the shadow.

    - Ambiant Occlusion : the engine will create lot of lights arround your model and simulate shadow in the hole, and other angle, etc... the result is a map with only shadow on your model.
    Often you can choose the priority for the light orientation on the top or the camera view....

    Basicaly we don't really speak about shadow map... the lightmap do "everything". And using a multiply mode you can simulate shadow... in the lightmap :)

    but if you check on google and wikipedia you'll find better explanation haha!!

  • adam
    Offline / Send Message
    adam polycounter lvl 15
    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).
  • Brice Vandemoortele
    Offline / Send Message
    Brice Vandemoortele polycounter lvl 15
    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.
    Offline / Send Message
    SHEPEIRO polycounter lvl 13
    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.
Sign In or Register to comment.