Jump to content
3DCoat Forums

Pixar Releases OpenSubdiv Beta to the Public


Recommended Posts

http://graphics.pixar.com/opensubdiv

OpenSubdiv Overview

OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures.

This codepath is optimized for drawing deforming subdivs with static topology at interactive framerates. The resulting limit surface matches Pixar’s Renderman to numerical precision.

OpenSubdiv is covered by the Microsoft Public License, and is free to use for commercial or non-commercial use. This is the same code that Pixar uses internally for animated film production. Our intent is to encourage high performance accurate subdiv drawing by giving away the “good stuff”.

The source code for OpenSubdiv is located on github and is entering open beta for SIGGRAPH 2012. Feel free to use it and let us know what you think through the github site.

Platforms supported: Windows, Linux, limited OSX.

Link to comment
Share on other sites

  • Reputable Contributor

http://graphics.pixar.com/opensubdiv

OpenSubdiv Overview

OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures.

This codepath is optimized for drawing deforming subdivs with static topology at interactive framerates. The resulting limit surface matches Pixar’s Renderman to numerical precision.

OpenSubdiv is covered by the Microsoft Public License, and is free to use for commercial or non-commercial use. This is the same code that Pixar uses internally for animated film production. Our intent is to encourage high performance accurate subdiv drawing by giving away the “good stuff”.

The source code for OpenSubdiv is located on github and is entering open beta for SIGGRAPH 2012. Feel free to use it and let us know what you think through the github site.

Platforms supported: Windows, Linux, limited OSX.

Just watched the presentation, and it looks very promising. They have support for CUDA and OpenCL, so this might be a good answer to switch gears in 3DC's sculpting development, and using this Open SubDiv technology, port all of the tools in the Voxel Room to the Tweak Room (I would rename it PolySculpt Room). This way you have two really good options within the application...the flexibility of Voxel Sculpting and/or SubD sculpting (as you have in Mudbox).

I hope Andrew takes a look at this...could really change things.

Link to comment
Share on other sites

  • Advanced Member

SubD Sculpting would be a very welcome addition, and a good move to make 3DC more attractive to those that are more comfortable with multi-res poly sculpting. And there have been times that I wish I could just sculpt on a base mesh without having to convert it to voxel\surfaces. Polysculpt could combine vertex painting (transferable from voxel sculpt), uv painting (ppp), and scupting.

+2

Link to comment
Share on other sites

This is something for the very far future of 3D Coat in my opinion... Nice for the traditional modeler software solutions, but 3D Coat is still a sculpting, retopo and painting software for me - and it should stay this as long as the current functionality is not finally polished... there are still too mutch building sites in 3D Coat...

But very interesting indeed.

Link to comment
Share on other sites

  • Reputable Contributor

This is something for the very far future of 3D Coat in my opinion... Nice for the traditional modeler software solutions, but 3D Coat is still a sculpting, retopo and painting software for me - and it should stay this as long as the current functionality is not finally polished... there are still too mutch building sites in 3D Coat...

But very interesting indeed.

Well, I'm guessing you missed the part in the video where SCULPTING was mentioned. The code is already laid out and there is CUDA and OpenCL support built in, so it may be a much easier task to boost the sculpting performance by utilizing it and mirror the tools from Surface Mode. It's also easier to add true sculpt layers, that can blend (Intensity) and have masks. VoxTree Layer Panel is really just an outliner panel of the objects in the Voxel Room. Both Mudbox and ZBrush offer sculpt layers PER OBJECT. 3D Coat does not. That and the performance limitations that still exist in 3DC, prevent many of those artists from seriously considering it in their pipeline.
  • Like 1
Link to comment
Share on other sites

Well, I'm guessing you missed the part in the video where SCULPTING was mentioned. The code is already laid out and there is CUDA and OpenCL support built in, so it may be a much easier task to boost the sculpting performance by utilizing it and mirror the tools from Surface Mode. It's also easier to add true sculpt layers, that can blend (Intensity) and have masks. VoxTree Layer Panel is really just an outliner panel of the objects in the Voxel Room. Both Mudbox and ZBrush offer sculpt layers PER OBJECT. 3D Coat does not. That and the performance limitations that still exist in 3DC, prevent many of those artists from seriously considering it in their pipeline.

It's very right words, Don. I join once again.

Link to comment
Share on other sites

  • Advanced Member

+1 of course.

You may remember how many times I wished for multi resolution mode and mirroring of sculpting tools into sculpt room.

Sculpt more after retopology, this is the mesh what should be used for baking. This was and still is the weak point of 3dcoat.

This was always the zbrush-MB way. Zbrush did a lot more but now we have a new technology.

Link to comment
Share on other sites

Well, I'm guessing you missed the part in the video where SCULPTING was mentioned. The code is already laid out and there is CUDA and OpenCL support built in, so it may be a much easier task to boost the sculpting performance by utilizing it and mirror the tools from Surface Mode. It's also easier to add true sculpt layers, that can blend (Intensity) and have masks. VoxTree Layer Panel is really just an outliner panel of the objects in the Voxel Room. Both Mudbox and ZBrush offer sculpt layers PER OBJECT. 3D Coat does not. That and the performance limitations that still exist in 3DC, prevent many of those artists from seriously considering it in their pipeline.

Yes, I missed that. Sorry.

Let's see. As I see, the 3DC engine should be rewritten in the case of using this new tech. I can't await reporting new bugs for already working functions ... ;)

Ok ok - joking aside. It is really nice what pixar published there. I love the idea too. Let us surprise what will find a way into 3DC.

Link to comment
Share on other sites

Yep. Fix bugs and streamline the workflow before adding yet more features that need more time for bug fixes. This all sounds nice and dandy, but to paraphrase Don, I'm tired of having to work around the software to do what it should when it should work as intended.

Link to comment
Share on other sites

  • Reputable Contributor

I'm all for keeping things stable, but as you know already....if you want to make a good omelet, you got to break a few eggs. Anything that can be done to improve performance (still a glaring issue in certain cases), will introduce some new bugs. I'm not advocating a new feature as much as I am for filling a missing void and boost overall sculpting performance....especially when an industry giant has already done the bulk of the code work for it. Almost like having the Mudbox developers offering their codebase to any interested vendors.

Link to comment
Share on other sites

  • Contributor

I'm all for keeping things stable, but as you know already....if you want to make a good omelet, you got to break a few eggs. Anything that can be done to improve performance (still a glaring issue in certain cases), will introduce some new bugs. I'm not advocating a new feature as much as I am for filling a missing void and boost overall sculpting performance....especially when an industry giant has already done the bulk of the code work for it. Almost like having the Mudbox developers offering their codebase to any interested vendors.

I agree, BUT you're just offering an easy way out: adding more features to not go into bug fixing. At some point freezing the code base and polishing things is unavoidable. The more you keep adding features, the harder it will get to fix the accumulated bugs...

Just saying and I actually REALLY want a multiresolution sculpting ability (as I really think this is the best for solid bases)

Link to comment
Share on other sites

Is this official? Cause that sounds like a running gag to me. :D

I hear that. It's been forever, the paperwork for him to get to Kiev is rather lengthy and terrible as I understand it. The beauracracy... Seems no "modern" country is exempt from it.

Link to comment
Share on other sites

  • 9 months later...

OpenSubdiv is a set of open source libraries that implement high-performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. The code embodies decades of research and experience by Pixar.

Very interesting to see how they are using PTEX

Link to comment
Share on other sites

  • 1 month later...

 

OpenSubdiv instead:


allows full threading, including use of GPU
creates and draws subsurfed “on the fly”, so you don’t need to generate/store data
has excellent crease support
has adaptive (screen space) subdivision
supports Ptex natively (non UV texture mapping)

Link to comment
Share on other sites

  • Reputable Contributor

attachicon.gifb3d_OpenSubDiv2.0.jpg

 

OpenSubdiv instead:

allows full threading, including use of GPU

creates and draws subsurfed “on the fly”, so you don’t need to generate/store data

has excellent crease support

has adaptive (screen space) subdivision

supports Ptex natively (non UV texture mapping)

Sweet. Raul is supposed to come back in August (next month), and when he does, I'll ask him if he can explore/research this a little bit. I think they want him to also explore a NURBS toolset that would be available in a different version of 3D Coat....probably called 3D Coat Industrial. Having a focus on NURBS shells in the retopo room for export to Manufacturer/CNC lathing formats like STEP, IGES and CATIA. So, he might already have too much on his plate to look into this OpenSubdiv.

  • Like 1
Link to comment
Share on other sites

  • Advanced Member

Sweet. Raul is supposed to come back in August (next month), and when he does, I'll ask him if he can explore/research this a little bit. I think they want him to also explore a NURBS toolset that would be available in a different version of 3D Coat....probably called 3D Coat Industrial. Having a focus on NURBS shells in the retopo room for export to Manufacturer/CNC lathing formats like STEP, IGES and CATIA. So, he might already have too much on his plate to look into this OpenSubdiv.

 

 

This is amazing news. I've been saying in other threads that Andrew (and now Raoul) should take on Geomagic and their multidisciplinary approach.

https://www.youtube.com/watch?v=gFIfP1UMPEk

 

It's a NURBS/BREP/Polygon/SubD/Voxel approach where you constantly transform the medium your object is being worked on with in one window, back and forth depending on your creative needs at the moment.

It's all built around using splines and NURBS to give toplogy to point cloud meshes which are already very close to Voxels.  This produces parametric solids which are mathematical/geometric in nature.

 

This allows for precise mathematical manipulation of objects with addition of holes, chamfers and bevels and shells etc.  Once the precise substrate is established with a robust history/dependency graph for later alterations or permutations, you could then turn it to voxel or subd mode for organic sculpts of details.

 

Geomagic is $20k

 

If Andrew could walk in and deliver an add on package for 3d coat for an affordable price he could totally steal this market from other programs like Rapidform XOR etc.

 

And there's other things too; working in Catia or Spaceclaim or NX8 allows for some simple texturing but it's not set up for really intensely detailed painting like you can do in Mari or Mudbox or 3d coat.

 

By allowing us to do NURBS/Brep in a 3d coat environment Andrew will be opening up a whole new market for intense texture painting of NURBS BREP surfaces that doesn't really exist yet. After all what happens to NURBS BREP surfaces in the render engine? They get converted to smoothed polys anyway. ..

Edited by L'Ancien Regime
Link to comment
Share on other sites

  • Advanced Member

Hopefully it'll be a full reverse engineering toolset;

 

https://www.youtube.com/watch?v=jEGs0P6LlUM

 

https://www.youtube.com/watch?v=C-oltNawjUA

 

Note how Geomagic uses Sensable, a voxel modeling system that predated Zbrush by about 5 years and then allows subD or NURBS or BREP workflows all integrated into one workspace

 

https://www.youtube.com/watch?v=9-yRmw05ris

Edited by L'Ancien Regime
Link to comment
Share on other sites

  • Advanced Member

Looking into Nurbs again sounds great.

 

I'm not so sure if it was good to break this into an entirely different version though - unless one planned also larger

changes in the Software architecture. More standalone versions would make stuff only harder to maintain, which could

be tough with such a small team. Maybe a Nurbs toolset rather could be added as commercial AddOn module - as one would

need all of 3DCoat's standard tools anyway.

 

A entirely separate version, showcased in Product Development Scenarios rather than in Game-Design contexts was of course

more suitable to communicate that one now quite seriously targets a different market.

Edited by polyxo
  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

Looking into Nurbs again sounds great.

 

I'm not so sure if it was good to break this into an entirely different version though - unless one planned also larger

changes in the Software architecture. More standalone versions would make stuff only harder to maintain, which could

be tough with such a small team. Maybe a Nurbs toolset rather could be added as commercial AddOn module - as one would

need all of 3DCoat's standard tools anyway.

 

A entirely separate version, showcased in Product Development Scenarios rather than in Game-Design contexts was of course

more suitable to communicate that one now quite seriously targets a different market.

I told Stas that getting with MOI to create a plugin module, integrated in a 3D Coat Industrial version or a separate module, might be a better approach than hiring a single developer from the Blender community or elsewhere. nPower sells a very powerful NURBS/Solid Surface plugin for 3ds Max and something that could make a BIG splash in 3D Coat is if they could arrange to get nPower to port their SubD to NURBS conversion. Kind of an Auto-Retopo for NURBS.

 

http://www.npowersoftware.com/NewPowerSubDNURBS.html

 

http://www.npowersoftware.com/NewPowerNURBS.html

Link to comment
Share on other sites

  • Advanced Member

The maker of MoI is a single guy, I doubt he had the time for getting involved deeply.

Integrating (=licensing) Npower stuff would cost a lot (one can see this in their products for Modo).

I actually believe this all 3rd party bells and whistles weren't required, for an initial release. 

 

Most important imo was gaining a profound understanding of what actually helps people with manufacturing demands the most.

Automatic Mesh/Voxel to Nurbs conversions for instance are spectacular but one likely runs into somewhat comparable issues as

with Autopo. As much as spiral loops on meshes are unusable, a curvature continous but awkwardly patched and bumpy Nurbs

polysurface may not be useful output at all. This is not to say one should generally leave fingers from this challenge... I only consider

it a seriously huge problem, which thus far has not been solved in a convincing way by any Software maker.

 

Imo there were areas which required far less research and still were highly useful - for instance an accurate initial Voxel conversion based

on the underlying Nurbs model and not as currently required - it's render-mesh. Autopo of Nurbs which takes Nurbs surface seams as

input (retopo)curves and reprojection after some Catmull Clark subdivisions against the initial Nurbs model. This allowed for Nurbs conversion

outside of 3DCoat, with Tsplines for instance. More refined curve based Geometry editing tools and quick import of externally created curves

and surfaces helped too.

Edited by polyxo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...