OpenSubDiv is on its way back

news

(aermartin) #21

Exec. Summary.
SubSurf (CPU): 0.2 fps playback
OpenSubdiv (CPU): 4 fps playback
OpenSubdiv (GPU/Cuda): 40 fps playback

4 year old video. Time flies. But great to hear OSD is getting some TLC from Sergey.


(zeauro) #22

About opensubdiv in 2.8, does anybody observe something else than a crash when he tries to use it ?


(Thornydre) #23

At the end OpenSubdiv is supposed to be on by default, and without any option to disable it. So maybe at the moment the options are just trying to enable it the old way and 2.8 doesn’t like it ?


(Pitiwazou) #24

Instant crash for me.


(zeauro) #25

That’s logical. But it makes commits about OpenSubdiv purely theoretical.
We have no idea how practical solution will be.
It could work perfectly after one “magical” commit or it could be half satisfying after “unlocking” commit and be a long road.


(Metin Seven) #26

Does or will OpenSubdiv also work in Blender 2.8 for macOS?

In Blender 2.7x it hasn’t been implemented, I believe because of Apple’s poor OpenGL support.


(Thornydre) #27

Here you have a commit from Sergey : https://developer.blender.org/rB3ee6b940dfd42a2251d1d3d44131f754d27769dd

It removes the OSD options on the modifier, and it explains how OSD will work. It seems like it will be really different from now.


(Ace Dragon) #28

A user-defined quality setting as to the accuracy of the resultant OSD mesh.
https://lists.blender.org/pipermail/bf-blender-cvs/2018-August/113086.html

You would generally set it to a lower value if you need more performance, but Sergey does note that you could really get into diminishing returns if the value goes above 3.


(Hadriscus) #29

I like this orientation, having the final subdivision be a post-process and the subdiv level be an object property, pretty much like in Maya - CPU subdivison can stay for other purposes but if that’s the cost of having a real fast implementation (preventing other modifiers effecting the mesh after the subsurf one and causing a back and forth of data between CPU and GPU if I understood correctly is the problem with the current design) then I’m all for it.


(zeauro) #30

I did not realize that I had to enable With_Opensubdiv_modifier cmake target.
So , I was searching this quality setting but could not see it.

We have to wait for GPU support to see a video showing differences with 2.79.


(drgci) #31

Does opensubdiv it’s on the buildbot builds all ready?
And it does mean that we can now have super fast animation preview in Eevee viewport?


(English is not my native language) #32

Hi.
I get Quality settings at the end of the modifier. Also in Multiresolution modifier. Have you enabled the other two flags: “WITH_OPENSUBDIV” and “WHIT_CYCLES_OPENSUBDIV”?


(Tosky) #33

I read that opensubdiv will aim at multires modifier too. That means (OSD) will replace multires? Then sculpting at really high density while jumping from a level to another will be more viable than ever? Also:


(erickBlender) #34

Today’s post -> https://developer.blender.org/D3604

Implemented boundary averaging
One thing to not is that tangents are calculated differently now,
so result is different from 2.79. Biggest regression is on the face
boundaries, where tangent was simply copied from previous position
on subsurf grid.
Now we always use proper tangent, and selling point is that this
(with combination of surface pushed to the limit) will solve or
at least help solving the spiky artifacts.

That is my Docta’s words, i really want to try it. Push Push Push Push !!!


(Ace Dragon) #35

What? Multires is no longer going to be * that * feature which always corrupts your model after using it long enough? That is excellent news :smiley:

It depends on whether it will no longer be possible to get NaN faces as well (here’s hoping, as we’re now using industry-proven code).


(erickBlender) #36

Yes it means that, but we still have to wait, i just tested it, nothing happening yet. Patience we need.


(zeauro) #37

I saw lots of build_environment commits but it looks like install_deps script was not updated, yet.
Patience.:sleeping:


(English is not my native language) #38

Apparently it’s working here, compiling on Linux. I have performed a quick test on subdivided monkey and Wave modifier. Comparing 2.8 with old Subsurf modifier, 2.8 with new SubSurf modifier is up to two times faster in quality=1, and the same in quality=10. But I guess this is CPU only for now.
Edit:
Sorry, you were apparently talking about multires modifier.


(artell) #39

Has anyone successfully tested this new open subdiv on Windows?
Even when compiling with the open subdiv flags as mentionned above, there is no “quality” buttons in the modifier interface, or anything related to open subdiv.


(English is not my native language) #40

I do not know, maybe it needs a specific version of Open Subdiv. I’m not sure how the dependencies are installed in Windows. In Linux you run install_deps.sh script and it downloads and installs dependencies. My OpenSubdiv version is 3.1.1.

I’m also not sure if Linux install_deps.sh updates the OpenSubdiv version if you have an earlier version. What documentation recommend is to delete files downloaded in “/home/USER/src/blender-deps” and the corresponding ones installed in “/opt/lib”, and then run install_deps.sh again (./install_deps.sh --with-all).