YOUR ACCOUNT

Login or Register to post new topics or replies
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Alright, thought I'd make a nice big informational post regarding the three key things that make your shader look nice and detailed. Unfortunately, bump, normal, and displacement maps tend to confuse people. To add to the confusion there are software developers who like to switch between the two terms displacement and bump in their software so be careful.

The three things here have one goal: to make things look realistic and each have their way of doing it. The reason why people get confused is because they all look like they do the same thing (excepting in the case between displacement and bump values, they're significantly different.) But each have significant differences between how they achieve a certain look or feel.

First of all the bump value. The bump value simulates lighting on a surface of a bumpy object. For example a surface of a rock is bumpy or a tree bark has a bumpy look. When you apply light to these objects, the light will get picked up in certain areas leaving other areas in shadow. So the basic idea of a bump map in a shader is to give the viewer a sense of depth by simulating the flow of light on a bumpy surface (given the grayscale map.) The unfortunate thing is that bump maps do not simulate actual depth in other words even if it LOOKS as though the object's surface has some form of bump, the geometry doesn't. So it's just a simulation of light passing over an object.

  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
The displacement value does something a step above what the bump map does: it actually alters the geometry creating a much more detailed and further realistic look and feel to the object.

Displacement maps and bump maps can share the same black-and-white maps. Depending on the software displacement maps may not exist. So if you want some protrusion and realistic surface detail, find a software that's capable of doing that.

In many cases displacement maps are useful for creating mountains as well as things like surfaces of rivers beds with tons of stones and pebbles without having the need to add more geometry. The idea here is to store the displacement data on an image therefore you don't have to work your CPU and GPU on just previewing the scenery.

Depending on the scene you will need to get cleaver: sometimes displacement maps will take longer to render because it has to "subdivide" your geometry for higher quality results. Basically means it can take SIGNIFICANTLY longer to render displacements over bump. So as a tip: if you have a large scene, distant objects can just have simple bump maps where closer objects can enjoy the full glory of displacement maps. (Not that it has to be like that.)

  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
If your software allows for alternative slots for bump/normal and displacement maps. You can take advantage of that and generate further detailed looks and feels. In this case I threw in a bump map and displacement map. The shading is much more detailed (and maybe in this case too much) but the idea's to be able to adjust further detailing and give a bigger sense of realism.

  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Now here's the most difficult one to understand: a normal map. Normal Maps do simulate "bumps" they can simulate dents in a given object but provide a completely different way than a bump map

Normal maps DO NOT displace geometry.They simulate light once again on a surface like a bump map but instead of just having values between 0 and 1 it has values stored in 3 distinct RGB channels hence for the matters of simplicity: it has more data! Each R G and B channels correspond to X Y and Z coordinates of the surface normal of a given geometry or surface. I'll skip over the details because it gets pretty detailed and I'd rather keep it simple.



So when you work with normal maps you can store a lot more detail of the surface.

Due to the way normal maps store data and the way they're created there are some limitations of what you have as normals vs what you can't. For example sharp, unleveled edges cannot be stored in a normal map.




That freaks some people out!

Normal maps are useful for storing data from a high-poly mesh to a low-poly mesh. This is why they exist in the first place: to lower polygonal geometry while maintaining high surface detail when provided lighting. So that's what they're useful for.
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Conclusion: I wrote this because people get confused between the three smile:) There's also the fact that SpaceRay made a post asking what software to use and otherwise so I was like... why not a thread regarding shaders.

But let me just summarize here: a bump map gives us values between zeros and ones (or sometimes certain softwares allow for HDR values) to simulate the sense of depth. A displacement map gives us again values between zeros and ones (or beyond) but gives us further detail by altering the geometry. A normal map does what bump maps do but a bit better. It stores data in RGB channels hence you can get more data out of one image. So just to make it super easy: a bump map gives you "intensity" values, a normal map gives you "directionality" values. Each of these have disadvantages and advantages over the other and can be used in combination for further detail on a given shader.

There are other types of maps which provide further extension of realism and gives us more control for example vector displacement maps, AO, rAO, Specularity, Metallic, SSAO, and otherwise. They have special purposes and share different parts of the shader tree providing us with further detail and control over our 3D scene.

Alright, I'm done messing with the forums. I'll transfer this over to my blog because it'll get buried in the forums anyway. Got questions: ask below!
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
WOW!! Thanks very much for writing all this useful and interesting tutorial about this topic that as you say is confusing, and more when software companies like to switch the names and in the software settings are different to what is the real name or definition.

This is very appreciated and helpful. Thanks again.
  Details E-Mail
Morgantao
Can't script

Posts: 2185
Filters: 20
Great explanation, easy to follow and understand. smile:)
Thanks alot for the detailed info, it's gonna be usefull for alot of 3D wannabe's like me.

One question, as you said, normal and bump maps each have their limitations, so if the software allows for it, one should use both. But since both affect how light reflects off of the surface, wouldn't there be a 'power struggle' between them?
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Well the purpose of using them in combination is a bit different. You wouldn't use both normal and bump maps of the same texture, you'd have bump maps that specifically deal with texturing an item or section of your object where a normal map may handle another section.

So the key is this: when to use it and how to deal with the specific regions.

A bump map, as in the previous posts deals specifically with INTENSITY values ranging fr om 0 to 1 (or more if the program accepts it.) Generally bump maps do a good job representing "ups and downs" but fails to capture low-intensity details for example values which are small (like values ridiculously low like 0.005) are almost hard to detect and fail to become "bumps" when rendered. You can normalize the bump map, but there are some situations where its hard doing that. Also values which are small tend to fail getting saved in various file formats. Normal maps deal with direction (well ok its more than that but anyway) it can display relief as long as the beveling is apparent enough. So that's wh ere you'd use normal maps over bump maps.

So to me I use normal maps for further detailing because normal maps tend to be able to save more detail. Remember there are 3 channels and it utilizes all of them instead of just 1.
  Details E-Mail
Morgantao
Can't script

Posts: 2185
Filters: 20
Could you post three renders of the same object, using bump on one render, normal map on another, and a combination of both on the last?
It would be easier for me to see the different effect of each map, and under what circumstances each one does a better job. smile:)

Thanks!
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Thanks Skybase for more information about this.

I have always liked and loved the image that Filter Forge Inc. has made for their main page and is really beautifull how the textures are rendered in those lovely 3D

I had always wanted to make this but never knew which software to use and how to do it

Is a pity that having such great amount of beautiful textures already available I do not know how to use them, so will have to learn and search how to use them and be able to make this examples shown here below

  Details E-Mail
Totte
Übernerd

Posts: 1460
Filters: 107
I'm having a filter in the makings and I have a checkbox to set it into displacement mode, to generate dispalcementmap instead if texture map as the displacement I'm after should be much less noisy compared to the bumpmap. I'll post some renders in y thread when I have something to show what I'm after.
- I never expected the Spanish inquisition
  Details E-Mail
SteveR
SteveR
Posts: 14
Thanks for this post Skybase - very useful - cheers
SteveR
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Skybase I want to thank you again for all this great and well done tutorial explaining all this in a good and useful way

Thanks to you also I know also how to make now displacement map inside FF and not only externally on Photoshop or in a 3D software

Quote
Totte
I'm having a filter in the makings and I have a checkbox to set it into displacement mode, to generate dispalcementmap instead if texture map as the displacement I'm after should be much less noisy compared to the bumpmap. I'll post some renders in this thread when I have something to show what I'm after


Have you done something with this? Sorry that I do not know what you want to do, but may seem interesting and useful.
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Quote
There is something that may be missing here perhaps, because this is how to use bump maps, normal maps and Displacement Maps made with FF for external 3D software, BUT what if you want to make this same bump maps and displacement maps INSIDE filter forge as you can see in some filters?


I mean... when you build a surface filter, you're already building the elements. Surface filters require a couple things: 1. Diffuse channel. 2. Bump map. FilterForge generates the normal map, ambient occlusion, and the combined image when you render it.

So the quick answer is: the surface filter already does all of it.

Totte's basically saying that while we can use bump maps for displacement purposes, it comes to a point where bump maps often contain too much detail for displacement maps. Generally you want the displacement map to contain the overall shape you want the render engine to displace based off the base mesh. Then you use bump/normal maps to produce the rest of the details on top of all that. So the process is multi-layered. In short: a displacement map should produce "overall details" that's intended to be displaced based on the given geometry. The bump/normal map should add the rest of the details in. BUT, you can think safely that you have the freedom to apply ridiculous amounts of detail into a displacement map to produce a ridiculously detailed displaced geometry. Point is, you got tons of freedom to do what you want, it's just that there are better ways of dealing with stuff.
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
I think that now that FF 9 supports PBR and the result component has been updagred to support 3D export for Unity and Unreal and other 3D software, this very useful and great information is even more useful and valuable

And I can add more options that are also available apart

3D texture mapping that will give a “Fake” geometry 3D relief aspect

https://filterforge.com/forum/read.php...&TID=15905
  Details E-Mail

Join Our Community!

Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!

33,711 Registered Users
+18 new in 30 days!

153,531 Posts
+36 new in 30 days!

15,347 Topics
+72 new in year!

Create an Account

Online Users Last minute:

16 unregistered users.