[Bf-committers] Opensubdiv and catmull-clark again

Sergey Sharybin sergey.vfx at gmail.com
Fri Nov 6 05:22:56 CET 2015


Yury,

For the original mail: OpenSubdiv and Blender original CCGSubSurf are using
different approaches to the patch topology construction, but both of them
technically are Catmull-Clark subdivisions. There's no correct or wrong
crease here, it's just different and behaves better in one situation or
another. We'll switch to OpenSubdiv completely once all the issues are
solved.

For the followup mail: you're pointing out all the TODOs and limitations
mentioned in the original release page [1]. Don't see much reason to
discuss them here, we'll need to work on this still. With a project size of
OpenSubdiv and the tight release schedule we had so far you can't really
have everything to be ideally supported from the first commit. It'll all
come eventually.

Mike,

GLSL Compute is disabled for AMD devices because original OSD library we
used for the 2.76-rc1 had a bug on AMD hardware. It was fixed later at rc2
or rc3 from the OpenSubdiv side, but we can't bump library versions at the
RC stage (bumping it will mean we're allowing to use hardware which was
known to be buggy without too much tests done first).

For the shading, here's the bug report [2]. I didn't find a way to evaluate
limit surface on the GPU when using non-adaptive subdivisions and i didn't
really heard back from Pixar about how it could be done. Wold need to ask
the guys again. But OpenSubdiv 3.0 is quite fresh so far and perhaps
non-adaptive case is not high priority for them yet.

Perhaps we can do some other trickery to get better normals, but that'd
requite having tessellation control and evaluation shaders which was quite
hard to do with current OpenGL state we've got. It didn't quite work for me
when trying to sue it as an #extension for glsl 1.3 and mumping glsl to 1.4
and higher would mean re-writting all the existing shaders (due to removed
of loads of deprecated stuff in it, i.e. gl_Normal). Maybe you can have
some other ideas here tho.

[1] http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.76/OpenSubdiv
[2] https://developer.blender.org/T45707



On Thu, Nov 5, 2015 at 10:02 PM, Mike Erwin <significant.bit at gmail.com>
wrote:

> Hi guys,
> I'm actively working on OpenSubdiv, especially getting it running on more
> systems (Intel gfx on Windows, Mac). GLSL compute works on the latest
> version of OSD (official Blender release doesn't use this yet). Similar
> performance to Transform Feedback. The other problems you mention... yep
> those are still problems.
>
> Thanks for pointing out #2 -- I knew it looked odd but didn't make the
> connection to low-poly normals. Can you give a link to the bug tracker?
>
> From my understanding, OpenSubdiv will become *the* subsurf implementation
> in Blender, and the old system will go away. But first we need to fix these
> problems.
>
> Mike Erwin
> musician, naturalist, pixel pusher, hacker extraordinaire
>
> On Thu, Nov 5, 2015 at 7:52 AM, Yury Baranov <cucumberer at gmail.com> wrote:
>
> > Opensubdiv is unusable ATM in fact. Problems are:
> > 1. Unable to apply Subsurf with OSD enabled. Result is identical to
> Subsurf
> > without OSD check.
> > 2. Shading is wrong (bug is in the bugtracker already). OSD takes normals
> > for shading from lowpoly instead of computing new normals.
> > 3. No UV subdivision.
> > 4. GLSL Compute is not working for me.
> > OK, the feature is too new and too raw to use it in production. But OSD
> is
> > based on Catmull-Clark algo, which is already used in the Subsurf
> modifier,
> > OSD is just speeding mesh calculation up. The problem is, OSD and
> > Catmull-Clark subdiv models look different, it not supposed to happen
> IMHO.
> >
> > 2015-11-05 15:33 GMT+03:00 Nahuel Belich <casillapforos at yahoo.com.ar>:
> >
> > > intersting, in that case, as a modeler i would prefer the open subv
> > > result, however i didnt model that much using it, the performance its
> > much
> > > much better, but the shading its "weird" or not accurate on most cases.
> > . .
> > >  i need to test it more to shape an opinion
> > > PasteAll.org - opensubdiv.jpg
> > > |   |
> > > |   |   |   |   |   |
> > > | PasteAll.org - opensubdiv.jpgPasteAll.org - opensubdiv.jpg
> > > opensubdiv.jpg ~0.11mb..ish. 916 px. 1335 px. |< << hi PasteAll.org is
> > > brought to you by the monkeys of GraphicAll.org -  |
> > > |  |
> > > | Ver en www.pasteall.org | Vista previa por Yahoo |
> > > |  |
> > > |   |
> > >
> > >
> > >
> > >
> > >
> > >      El Jueves, 5 de noviembre, 2015 5:09:30, Yury Baranov <
> > > cucumberer at gmail.com> escribió:
> > >
> > >
> > >  Hi. I just mentioned that Blender's subdivision surface is acting a
> > little
> > > bit different than opensubdiv. It's noticable when using creases on
> > > geometry like this: http://puu.sh/la3Xw/3c06b8b687.png
> > > Blender's catmull-clark subdivs: http://puu.sh/la3ZJ/a5f8ce2ddf.png
> > > Opensubdiv: http://puu.sh/la40E/529b72bec5.png
> > >
> > > Looks like Blender's Catmull-Clark subdivs are not Catmull-Clark
> > subdivs...
> > > _______________________________________________
> > > Bf-committers mailing list
> > > Bf-committers at blender.org
> > > http://lists.blender.org/mailman/listinfo/bf-committers
> > >
> > >
> > >
> > > _______________________________________________
> > > Bf-committers mailing list
> > > Bf-committers at blender.org
> > > http://lists.blender.org/mailman/listinfo/bf-committers
> > >
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
With best regards, Sergey Sharybin


More information about the Bf-committers mailing list