The volume loss is indeed the difference between subdivided control cage (aka old subdiv) and tessellated limit surface.
I did some poking around the code and found out that blender currently uses osd topology refiner in adaptive mode which, I believe, makes it impossible to recover subdivided control cage as it only subdivides faces around extraordinary vertices. “Quality” setting is actually subdivision level that is passed to topology refiner. What I found is that its possible to turn off adaptive subdivision, setting is already there, it’s just value is hardcoded to true. When doing that I can get old behavior back (no volume loss), in this mode quality and level should be same, otherwise if you set level higher you can see faceting of underlying surface, but that’s mor of UI issue. What I don’t know is how much of a hack such a solution will be. (is it impossible for osd to eval. limit surface in regular mode, and observed behavior is fallback that will change in the future?)
5 Likes