Page MenuHome

Crease strongly inconsistent between subsurf and adaptive tesselation
Closed, InvalidPublic


System Information
Windows 10, Nvidia GTX 1080Ti

Blender Version
Broken: Blender 2.78c

Short description of error
Creasing strength is strongly inconsistent between the Cycles adaptive tesselation and plain subsurf (with or without OpenSubdiv).

Exact steps for others to reproduce the error
Open attached .blend, press shift-z or f12

Both cubes have a creasing value of 0.3. The left one's subdivisions are set to 5, and adaptive tesselation is locked at max 5.

The cubes should be identical in this situation.

Event Timeline

Piotr Adamowicz (madminstrel) renamed this task from Creases strongly inconsistent between viewport and render to Crease strongly inconsistent between subsurf and adaptive tesselation.Jun 4 2017, 9:05 AM
Mai Lavelle (maiself) changed the task status from Unknown Status to Invalid.Jun 5 2017, 4:20 PM
Mai Lavelle (maiself) claimed this task.

This is sort of a known limitation. Blenders way of doing creases is very odd and unique and makes no sense in the context of adaptive subdivision (Blender changes the strength of the crease depending on the level of subdivision, but for adaptive the level is effectively infinite for which Blenders method would be nonsense). I intend to propose a change in blenders creasing behavior for 2.8, but for now the mismatch exists.

Are you sure?

I'm no expert, but it seems to me what you describe would be plausible if we were talking about a small discrepancy, and one of the cubes had low subdivision. That's not the case here.

The crease value on the left is 0.3. You *can* get the right cube to be identical (as far as i can tell by just looking at it) to the left cube by applying a crease value of 0.09 instead, which is 0.3^2. I've also checked at other crease values. Just squaring the value gives the (seemingly) correct result.

Seems some math is just off by a square somewhere on export to cycles?

I just tried it. What I said is correct.

However it looks like something is off with subdivision unrelated to this issue. (non adaptive subdivision doesn't match non adaptive subdivision with OSD) I'll look into that, but the issue you are experiencing wont be fixed till 2.8 when we can break compatibility.