UV limitation on irregular/trapeze quad faces (affine vs perspective corrected interpolation)

I realized recently this problem with Blender’s UV interpolation.
A similar post I did on devtalk


The current method for calculating UV’s is called affine interpolation and while it has a better performance creates this distortions.
This issue affects low poly work, texture painting and baking and many users are not even aware of this.
The perspective corrected interpolation method gives distortion free mapping for a small performance cost.

That is not a problem with UV interpolation. UVs are just that - 2D coordinates. You cannot get perspective-correct mapping with just them, and they are what Blender is using.

They will need to become UVW coordinates, that is, an extra term is required.

1 Like

My point is to raise awarness for this issue and get it adressed. At this moment I have to use other software to make uvs and paint textures.The mapping is always a 3 value or UVWimage
Here is a more indepth explanation https://mtrebi.github.io/2017/03/15/texture-mapping-affine-perspective.html

You misunderstand me. If you want to raise awareness of the issue, you need to frame it correctly. There is no problem with UVs, they’re working as they can, and should, be working. The problem, in your case, is that they are UV coordinates, not UVW coordinates.

The Mapping node has no bearing on this. It is indeed designed to work with 3D coordinates, and Blender does provide 3D coordinates - Generated and Object. But UVs don’t carry the extra term for shape.

I’m not sure I understand your objection. There is clearly a better alternative to represent UVs and I find that every other software use it because it gives better usability. If you have a better formulation/framing I can change the post. Maybe I should say mapping instead of UV in the title?

Both here and on devtalk you call it a problem (or issue) with UV mapping. It is not. The behavior for UV mapping is correct. Because they’re UVs. U and V.
What you’re talking about is changing Blender to support UVW mapping.

I get it now: “it’s not a bug, it’s a feature”:)) From the github link examples I understood that you can still have affine or perspective corrected interpolation even with UVW and I supposed that this must be the case in blender.

With UVW you of course can - the software would provide the W term for you (calculate it from the actual geometry), and then the shader (e.g. the Image Texture node) could use that to perform a correction. But not with UV. Blender only has UV coords at this time. You simply can’t do that which you require with UV only :slight_smile: