Jagged bumps on EEVEE render in blender 2.9

Heightmap is EXR, color mode is linear, so it does not matter what I choose non-color, linear, raw etc.
There is no such issue in CYCLES with the same map

Is the texture 32 bit? (Though I’m not sure why this wouldn’t show up in cycles)

Just guessing here, but it looks like an issue with the internal precision of the height value.
Maybe eevee at some point converts to single precision floating point and cycles uses double precision throughout.
Does cycles also render on GPU or does it use CPU?

I know that there is an option for High Quality Normals somewhere but I don’t know if it will solve your issue. You may try to convert it to 16bits png , maybe that will make all this behave differently…

Sure it is 32bits

Hi, no, it does not help, I did check this option first.

I don’t remember the times I did renders on CPU,
I have GPUx2

It’s possible that this is related to the following OpenGL limitation in Eevee:

Blender Manual

As of now, bump mapping is supported using OpenGL derivatives which are the same for each block of 2×2 pixels. This means the bump output value will appear pixelated. It is recommended to use normal mapping instead.

1 Like


Thank you, I created additional Normal map for the sake of closeup renders and it works fine.

Here is a comparsion:

Empty bump slot:

Normal Map instead of EXR 32:

Height map EXR with pixelation: