1
$\begingroup$

I've found that a mesh in my scene has huge uvs.

Because of this, I am getting weird artefact as seen this image.

artefact

Value of a certain pixel after render (with denoising):

after render

Value of the pixel after uvs normalized (uv coordinate value clamped to 1000).

after render, clamped uvs

This couldn't have been due to denoising as I've disabled denoising and confirmed that the pixel still get high values.

So, my question is, why is changing uvs effecting the light value of a pixel in cycles render by such huge magnitudes?

Also, here's the node setup for my material if it's relevant.

node tree

$\endgroup$
3
  • $\begingroup$ I needed to use Non-Color Data for some reason I don't remember. Probably due to an issue I ran into with Color Management. $\endgroup$
    – Prasanth
    Nov 23, 2018 at 5:14
  • $\begingroup$ Can you please share the rest of your nodes (what happens to the right of your image?) and also the image used in your Image Texture node? Also, your blend file would be useful if you can share it. $\endgroup$ Nov 23, 2018 at 6:49
  • $\begingroup$ Sorry, I can't share the blend. Updated node tree screen shot and shared texture image. $\endgroup$
    – Prasanth
    Nov 23, 2018 at 9:01

1 Answer 1

1
$\begingroup$

I have replicated this behaviour by unwrapping the default cube, going into the UV/Image editor and drastically scaling up the UV map by a factor of 9999999.

This would appear to be a problem with the Interpolation of the image - the problem is no longer evident if you switch to 'Closest'.

To explain this a little, the Interpolation setting comes into effect when the point in the image does not exactly match the position of a pixel - in which case Blender attempts to produce a value some way between that 'closest' pixel and its neighbours, effectively to try and 'blend' the edges. The extremely large scale UV map will be causing rounding issues with the floating point coordinates and this is most likely resulting in overflow. When Blender is trying to determine how much to blend between two adjacent pixels, the calculation appears to be triggering a divide by zero or overflow, resulting in a corrupt color being returned.

The solution is to simply re-scale your UV map to a more reasonable range - or use Closest interpolation.

$\endgroup$
1
  • $\begingroup$ I need to read more on the 'Smart' interpolation, but that seems to work. Hope this issue gets picked up by blender devs for fixing. Thanks a lot! $\endgroup$
    – Prasanth
    Nov 23, 2018 at 18:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .