Why is my bump map pixelated?

Hi, I’m using blender 2.8 (latest beta atm). Following Blender Guru’s anvil series with minor changes. For some strange reason, when I’m trying to use the Bump node, I get this crappy looking pixelated normals:

The bump map is 2k and painted in blender, but it really doesn’t matter which map I feed to the bump node, the result is always pixelated. Is it a bug? Tried different 2.8 versions, no luck. Or maybe I’m missing something? I understand that 2k isn’t enough for close look but shouldn’t it be blurry instead of this?

It looks like the bit depth isn’t high enough. What format is your bump map saved in?

1 Like

png. It says it’s in 32 bit.
It’s actually even in 4k, I missed this point.

Looks like bitdepth and/or texture compression.

Have you tried re-saving the normalmap with dithering? Or is it a b&w bump map?

You are looking for bit depth per channel not per pixel. It says “32” … So is that 16 per channel grayscale + alpha or is that 8 per channel RGB + alpha?

It is a black & white bump map plugged into the bump node which output is going to normal input of the shader. I tried to use different b&w images, the result is always blocky.

I suppose it’s 8 bit RGB + Alpha.

That is likely your problem. Try creating a new image in the imaged editor. And make it a 16bit file. See if that will work better(it should). 32bpp(bits per pixel) would be best, but understandably much heavier.

I just tried it and it didn’t help. I created new 32-bit float 4k image in blender, saved it and painted some bumps. The result is blocky.

I’m not sure if it’s relevant but when I’m painting scratches (following the tutorial), the image itself comes pixelated. Especially when I turned on random angle. And paint it with small brush size. Is it supposed to be like that?

I’m guessing you have been doing the painting in 3D view. There were previously 2 problems. Switching to 32bit images has solved one. The other is that as you paint in 3D view the stroke is painted according to viewport resolution then projected/baked into the texture. Thus the resolution mismatch.

I’d also try lowering the distance value of the bump node. Overall though zooming in this far I’d always expect to see some pixelation.


Also, you should try using a mid-gray as your basis and paint with gray’s surrounding that. This way you can draw actual bumps as well as cavities and you wont be using as extreme values as black and white. Generally speaking you should avoid absolute black and white(and above).

Ok spent some more time with it and I have found one issue with the texture painting in 2.80: Brush stroke spacing. Crank it all the way down to 1%. It helps but depending on brush size even the minimum value might not be enough.

Might be worth reporting on the tracker.

The distance value isn’t doing much as for me. Maybe that’s bc of the pure b&w without gray. I’ll try that.

Overall though zooming in this far I’d always expect to see some pixelation.

Is it just a bump thing? Because normals, for example, don’t seem pixelated to me, neither diffuse or other textures. They’re just blurry when you zoom in too close. And this bump gives really sharp pixels without blur. Even with small height value. Even on the larger distance you can recognize strange pixelated grid on your model.

Yes there certainly seems to be a lack of texture filtering.

As for distance, you mean the spacing value of the Stroke method: spacing?

No, I mean if I zoom out the model I can still see how this pixelated bump affects my anvil. So it is not only “close look” problem.

Yes thats what i mean. Seems to be related to texture space filtering to me.

Ok. How can I leave my info about it so devs can see it? I’m not sure I ever submitted a bug to a tracker in my life :smiley: How should I issue a report?

Ok, I’ve registered on developer.blender.org, ready to do this. But I found this thread.
Here people were adviced to use Smart interpolation for bump instead of Linear. I tried it, and it did nothing. But the thread itself is 3 years old.

Cubic interpolation works better, but it’s still blocky

Ah, I see. You are solely talking about cycles renders? I’ve mostly focused on the viewport and eevee.

i suggest you can add smooth modifier and adjust parameters to get smooth final result.

if you use quad mesh for cloth simulation, you also can see the similar result if you do not add smooth modifier.