Skip to main content
Participant
September 3, 2025
Answered

How do i get rid of a single pixel border on height map

  • September 3, 2025
  • 1 reply
  • 628 views

im using shape nodes to drive height on a PBR material, and when i use anything other than a straight linear gradient, i get a pixel border edge. This seems to occure when i use a Transform2D and offset a shape off the canvas.

Correct answer davescm

It is an artifact of the rendering engine when edge pixels are not at the default height but some interpolation is needed to set the transition to the next texel which of course is outside the boundary of the material. Render engines will either, treat the next texel as a tiled image (which for a tiled material is a good assumption), treat it as the default height, or provide options. I cannot see any options in 3D Designers render options. 

In Blender this is taken care of in the material's displacement node by setting the extrapolation method which sets how pixels outside the image boundary are treated. Changing from the default 'Repeat' which works well for tiled materials, to either 'Extend' or 'Clip' resolves the rendering issue.



Substance 3D Render:

 

The same outputs rendered in Blender with displacement set to 'Extend' (for demo of the issue only, no attempt to match lighting etc)
Dave

1 reply

davescm
Community Expert
davescmCommunity ExpertCorrect answer
Community Expert
September 4, 2025

It is an artifact of the rendering engine when edge pixels are not at the default height but some interpolation is needed to set the transition to the next texel which of course is outside the boundary of the material. Render engines will either, treat the next texel as a tiled image (which for a tiled material is a good assumption), treat it as the default height, or provide options. I cannot see any options in 3D Designers render options. 

In Blender this is taken care of in the material's displacement node by setting the extrapolation method which sets how pixels outside the image boundary are treated. Changing from the default 'Repeat' which works well for tiled materials, to either 'Extend' or 'Clip' resolves the rendering issue.



Substance 3D Render:

 

The same outputs rendered in Blender with displacement set to 'Extend' (for demo of the issue only, no attempt to match lighting etc)
Dave

Participant
September 4, 2025

I appreciate your response greatly! The Extend solution may work for me, however I'm using Maya's Deform > Texture feature to apply the heightmap to a polygonal plane, and that feature isn't available. What's even more odd is checking the heightmap in photoshop, i see no pixel edge error (no white/black border).


What leads me to think this isn't a rendering bug is if you take a look at this youtube tutorial, the user is clearly showing a clean height interp using a linear gradient.

https://www.youtube.com/watch?v=IhQBS_O3w3k&t=658s

Why can't i get the same result?

davescm
Community Expert
Community Expert
September 4, 2025

If you plug a linear gradient into the height output in the current version, the video you linked was made two years ago,you will see the same issue.


The reason you don't see any issue in Photoshop is that the material itself is fine. It is the way the render engine, which has changed in the current version, treats the next texel outside of the material when interpolating. It is not so much a bug, as a lack of user options in the render settings. Unfortunately, I don't use Maya so can't advise on render or displacement settings in that application.