I was wondering, why Aren’t we using displacement maps instead of normal maps? applied to decimetrised mesh a displacement map creates real geometry instead of an illusion of detail. There must be a catch…. ?
Displacement usually needs to subdivide the mesh no matter how you look at it just to get enough geometry resolution to simulate the ups and downs of a particular texture map – but you can choose to have the mesh subdivided just at render time. A cube made of 6 polygons won’t have enough geometry to make it appear like it is made of rocks so you can choose how much you want to subdivide the geometry in the displacement tab of the material.
Displacement can also round those “extrusions” to reduce jaggies and it can have the texture map take the new geometry into account (think: mapping the tops of mesas vs mapping the tops of mesas AND the cliff face walls as well).
With a bump map, if you look at the edge of the object it will retain the same shape it had before the bump – a sphere will still be a smooth sphere, and this can spoil the illusion. But a displacement is actually moving the geometry around (and often needing finer geometry to do that, hence the subdividing) so that a sphere can look like rough rock.
Taken to an extreme you can use displacement to create entire landscapes from smooth flat planes (search for Quixel megascans) or what are commonly referred to as “Circuit board cities”. Here’s a few pics – scroll down through them – every thing here started as flat smooth surfaces and this is all displacement from textures. Bumps could never do this.
The thing is: I’m trying to find the best solution to present 3D scanned art objects in a standalone 3D viewer. The consideration here is file size against detail. I’ve got to combine 2 searches here: find the right 3D standalone viewer: Right now I tend to use the Microsoft 3D viewer. And find a way to present the files in highest possible detail while still being able to open them. Now I’ve got files of 200 mb with texture, usually .obj or .fbx files. It takes a long time to load, if they load at all. Smaller files with a displacementmap could be a solution. Maybe something is possible like mipmapping for textures….a similar technique with increasing level of detail of a mesh?
One of the problems with displacement is it’s not specific when it comes to subdividing. You need a little bump on one side of a sphere? No problem, but the whole sphere will be subdivided – wasting memory and polys. But if you bake the displacement and textures and bump and AO and everything into an object you can wrangle those polys to reduce them to the lowest they need to be – perhaps even lower than the original sphere because certain shading modes (like Phong) don’t need a lot of polys to create a smooth surface.
You might also want to look at Unity. (or any of the real time game engines like Unreal). These are designed specifically to give the most detail with the least overhead. You can make your assets in C4D and then export for Unreal where you can further tweak to reduce polys (you can even have different “detail” versions for close or far away views of the same object. Then deliver them via the realtime engine.