Home Technical Talk

What are all these "height maps" I've been seeing lately?

JordanN
interpolator
Offline / Send Message
JordanN interpolator
I've been coming across art that's been making use of these greyscale textures as of lately. I've heard of them before being used to generate terrain and they were usually small (512 x 512) but now I'm seeing them being used with more standard material. 

Are they the equivalent to displacement maps that are used in VFX CG? Or do they have more in common with the standard normal map? 





Replies

  • Cremuss
    Offline / Send Message
    Cremuss polycounter lvl 12
    Yes I'm pretty sure those are just used as displacement maps with tesselation. They also can be used sometimes to more realistically blend two materials together (where one will blend with another by filling the cracks and cavity of the surface first, depending on the height map)
  • JedTheKrampus
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    They're exactly the same as displacement maps although they usually aren't used for tiny details like VFX displacement maps. They have some other uses besides tessellation: you can mix them with noises/photos and gradient map them to help drive the other textures in Substance Designer, and you can use them to blend other materials in the cracks or peaks of a texture. Really useful for tilables, for real-time characters with high polycounts not as much. In a lot of cases you can use them at half res or quarter res in engine compared to the other textures, if they're used in the game engine at all, since they're just a mix factor for two higher-res textures and usually contain more low-frequency detail than high-frequency detail.
  • furiouslul
    Offline / Send Message
    furiouslul polycounter lvl 4
    In the case of those Naughty dog textures, they're rarely used as displacement maps with tessellation (in game that is, those textures renders are using displacement though). Generally used with parallax occlusion mapping afaik - but maybe someone can confirm that
  • Mant1k0re
    Offline / Send Message
    Mant1k0re polycounter lvl 8
    Yeah POM would be my guess as well. Interested in getting more information on them though.
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Tessellation is expensive and mostly only used for terrain and specialized shaders aka bragging about the ear on their main character showing no polygonal silhouette.

    POM, which changes the silhouette of a mesh via pixels(?), is crazy expensive if it covers a large portion of the screen, so it is usually only used on small rubble piles that don't take many pixels of screen space.

    Bump offset(Unreal Engine 4, may be called something else in other engines), which doesn't change the silhouette is relatively very cheap and should be used on most large tiling surfaces that can make use of it.

    A proper heightmap is one of the key elements of a modern material workflow and creating a proper one, one that has low frequency noise and large value range, is key in getting materials to look high quality.
  • Mant1k0re
    Offline / Send Message
    Mant1k0re polycounter lvl 8
    Hey Nick, regarding Bump Offset, doesn't that remove the need for normal mapping? So in the examples shown by OP why would they have both?
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Mant1k0re said:
    Hey Nick, regarding Bump Offset, doesn't that remove the need for normal mapping? So in the examples shown by OP why would they have both?
    Nope you still need normals, without them the pixels will only know to simulate depth but won't know which direction they are facing. This causes a very wierd looking material where the depth doesn't match the lighting.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Naughty Dog also could have created the heighmap with Substance just for the normal map/Substance creation process, and not use the height map at all in game. And for certain assets, they could have added supporting geometry to the meshes using those textures in game. 
  • Joopson
    Offline / Send Message
    Joopson quad damage
    Quack! said:
    POM, which changes the silhouette of a mesh via pixels(?),
    I believe POM (Parallax Occlusion Mapping) is the same as Bump offset, and doesn't change a mesh's silhouette.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    POM can change the silhouette.
  • Joopson
    Offline / Send Message
    Joopson quad damage
    Hm... This flies in the face of everything I've ever believed. :expressionless:

    If Parallax Occlusion Mapping can change silhouette, what makes it different than tesselation? Does it just adjust the existing mesh to the heightmap? Or something else?

    And why do some engines and documentation seem to use the terms interchangeably?
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    POM or Parallax Occlusion Mapping, changes the silhouette.
    Bump offset or Parallax Mapping (minus occlusion) does not.
    I assume they are interchangeable because they are related to each other on the shader level. Similar to how bump-maps and normal maps used to be interchangeable in the earlier days of normal mapping.

    POM is a pixel based silhouette change and can receive shadows, hence the expense. Tesselation is actually changing/adding verts on the models.

    This is, of course, oversimplification of complex stuff.
  • Joopson
    Offline / Send Message
    Joopson quad damage
    Do you have any examples in games, with legitimate Parallax Occlusion Mapping?

    Edit: Apparently Crytek calls Bump Offset "Parallax Occlusion Mapping", and calls proper POM "Silhouette Parallax Occlusion Mapping". At least, it seems that way, looking through a presentation they did a couple of years ago.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Crysis 3, Ryze, Paragon. I'm sure there's a lot more.
Sign In or Register to comment.