Bump material creates offset reflection?

Hi!

I just noticed that mixing a VrayMtl with a VrayBumpMtl in a VrayBlendMtl creates an unwanted slightly offset second reflection on the surface, which looks weird, although I never noticed it before. The BumpMtl is doing this obviously, because it has the VrayMtl in its Base mtl slot. But why is the reflection slightly off?
You can observe the double reflection on the Mtl preview and also in the scene (screenshots).
…I’ve just learned that the bump amount on the Bump Mtl is responsible for the reflection offset. But I need the bump amount, obviously. It can’t be zero. How can I prevent it from offsetting the reflection?

thanks, I hope it’s not another case of not seeing the forest for the trees.

regards
av


You do not need the blend material.
Simply stop at the bumpMtl.
As it is now, you’re blending the un-bumped material and the bumped one, thereby duplicating the reflection, one offset by the bump and the other not.

What you are proposing is working and it’s making sense too. BlendMtl is obsolete since the BumpMtl is already doing the blending.
Could you explain the reflection offset to me? I understand it should offset a little because the bump is simulating depth, but if you crank up the bump to 100, the offset is so great that the reflection almost leaves the object entirely.
See these two examples:

Bump 1.0

Bump 40.0

Is that normal?

Is this a pun? :slight_smile:

Jokes aside, yes, it’s correct, as the normals get bent.
As there is no actual depth, this eventually leads to visual artifacts.
If you want it to be exact, you’ll need to use displacement instead.

On the blend vs. bump material: they are meant for two different use cases.

The bumpMtl is a “terminal” shader, used to add bump to materials which don’t have the option, or to complex material setups (maybe put together via the blendMtl.).
In general stuff is plugged into the bumpMtl, but the bumpMtl isn’t plugged into anything.

The blendMtl is there to make stuff like stickers on a base material, or to layer shaders (most of this can now be done with a single vraymtl) with additive mode (f.e. use the fastsss2 as base, without any specular highlight, and additively lay a GGX specular on it.).

I’m being far from exhaustive here, but you should get an idea of what’s what.

Hello AEBI_VINCENT, in the preview of your material setup you can see, that the normal map is to saturated because it loads with the wrong gamma.
For loading textures better use VrayBitmap (previously VrayHDRI) and set the color space to “none”

normal, bump, reflection, glossiness → none
diffuse map → srgb

kind regards
algato

I do, thanks for elaborating!

Is this a pun? :slight_smile:

I actually chuckled when I was typing. Didn’t think anyone would notice it hahah

Ah yes, I’m still using the Bitmap node for loading textures. Sometimes I use the VrayBitmap, because it has an entrance for UVWRandomizer f.e. The Bitmap doesn’t have that.
Would you recommend using the VrayBitmap in general?
What do I do with models from cgaxis for example? They come with complex materials that all feature the regular Bitmap-node instead of VrayBitmap. I would have to replace all of them.

Yes, absolutely.

What do I do with models from cgaxis for example? They come with complex materials that all feature the regular Bitmap-node instead of VrayBitmap. I would have to replace all of them.
On the right mouse click menu there is a “convert bitmap to vraybitmap” entry.
If you run it, without .tx conversion (you’ll know when you’ll get there), it’ll swap the bitmap loaders out for you in a scene without too much of a wait.