# A more subtle subdivision surface modifier?

**URL:** <https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506>\
**Category:** Blender and CG Discussions\
**Created:** [December 14, 2012, 11:03am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506 "2012-12-14T11:03:07Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![GiteZz](https://blenderartists.org/user_avatar/blenderartists.org/gitezz/32/21672_2.png) [@GiteZz](https://blenderartists.org/u/GiteZz)\
**Post date:** [December 14, 2012, 11:03am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/1 "2012-12-14T11:03:07Z")

</div>

Hey guys!

I’ve been thinking of this for a while, but what do you think?  
Here’s what the modifier does at the moment:

 ![http://i1199.photobucket.com/albums/aa473/dumbo987/Knipsel-21.png](http://i1199.photobucket.com/albums/aa473/dumbo987/Knipsel-21.png)

Wouldn’t it be more efficient and poly saving as it was like this:

 ![http://i1199.photobucket.com/albums/aa473/dumbo987/Knipsel2-4.png](http://i1199.photobucket.com/albums/aa473/dumbo987/Knipsel2-4.png)

What are your thoughts?

---

<div class="post-metadata">

**Author:** ![CDMJ](https://blenderartists.org/user_avatar/blenderartists.org/cdmj/32/1257813_2.png) [@CDMJ](https://blenderartists.org/u/CDMJ)\
**Post date:** [December 14, 2012, 11:17am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/2 "2012-12-14T11:17:16Z")

</div>

How do you account for the subdivision then? The existing subdivision divides _each face_ into four, so I don’t understand how you get the computer to understand how to divide the face the way you are showing. Yes, it is possible to use edge loops to arrive at that result, but that is not a per face calculation you are showing.

---

<div class="post-metadata">

**Author:** ![Zalamander](https://blenderartists.org/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zalamander](https://blenderartists.org/u/Zalamander)\
**Post date:** [December 14, 2012, 11:32am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/3 "2012-12-14T11:32:02Z")

</div>

Well, can you come up with an algorithm that performs this operation, particularly one that works on _arbitrary_ meshes, not just planes?  
The subdivision surface modifier does Catmull-Clark subdivision, but there’s no reason we couldn’t have others too - except somebody has to actually implement them.

---

<div class="post-metadata">

**Author:** ![Harley](https://blenderartists.org/user_avatar/blenderartists.org/harley/32/1231058_2.png) [@Harley](https://blenderartists.org/u/Harley)\
**Post date:** [December 14, 2012, 11:41am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/4 "2012-12-14T11:41:10Z")

</div>

Well your example only seems to be adding simple geometry. You can do that by just selecting subdivide and changing the “number of cuts” to 2,3,4,5, etc.

But if you are talking real subsurf modelling have you really had a time when level 3 was too rough but level 4 was too fine?

---

<div class="post-metadata">

**Author:** ![Kramon](https://blenderartists.org/letter_avatar_proxy/v4/letter/k/ecae2f/32.png) [@Kramon](https://blenderartists.org/u/Kramon)\
**Post date:** [December 14, 2012, 11:55am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/5 "2012-12-14T11:55:46Z")

</div>

> [@Harley](#):
>
> Well your example only seems to be adding simple geometry. You can do that by just selecting subdivide and changing the “number of cuts” to 2,3,4,5, etc.
> 
> But if you are talking real subsurf modelling have you really had a time when level 3 was too rough but level 4 was too fine?

yes… acctualy there could be subsurf mod… that add loops where there is a change of angle how about that?

---

<div class="post-metadata">

**Author:** ![brecht](https://blenderartists.org/letter_avatar_proxy/v4/letter/b/ecc23a/32.png) [@brecht](https://blenderartists.org/u/brecht)\
**Post date:** [December 14, 2012, 11:59am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/6 "2012-12-14T11:59:15Z")

</div>

It’s conceptually simple but mathematically a _very hard_ problem for general meshes. There are papers published about how you can do this in many common cases but not quite all of them (creases, non-manifold meshes). Pixar is working on an open source library though, and they have evaluation at arbitrary parametric points on the roadmap but not implemented yet, so maybe at some point it will be possible in Blender.  
[http://graphics.pixar.com/opensubdiv/release\_info.html](http://graphics.pixar.com/opensubdiv/release_info.html)

---

<div class="post-metadata">

**Author:** ![Muffy](https://blenderartists.org/user_avatar/blenderartists.org/muffy/32/14310_2.png) [@Muffy](https://blenderartists.org/u/Muffy)\
**Post date:** [December 14, 2012, 2:22pm UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/7 "2012-12-14T14:22:37Z")

</div>

> [@brecht](#):
>
> It’s conceptually simple but mathematically a _very hard_ problem for general meshes. There are papers published about how you can do this in many common cases but not quite all of them (creases, non-manifold meshes). Pixar is working on an open source library though, and they have evaluation at arbitrary parametric points on the roadmap but not implemented yet, so maybe at some point it will be possible in Blender.  
> [http://graphics.pixar.com/opensubdiv/release\_info.html](http://graphics.pixar.com/opensubdiv/release_info.html)

Are pixar SubDiv’s to be implemented into blender?

---

<div class="post-metadata">

**Author:** ![Harley](https://blenderartists.org/user_avatar/blenderartists.org/harley/32/1231058_2.png) [@Harley](https://blenderartists.org/u/Harley)\
**Post date:** [December 14, 2012, 3:48pm UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/8 "2012-12-14T15:48:06Z")

</div>

Here’s a video from Open Subdiv from December 6th showing adaptive tessellation:

https://player.vimeo.com/video/55032699?app_id=122963

---

<div class="post-metadata">

**Author:** ![CDMJ](https://blenderartists.org/user_avatar/blenderartists.org/cdmj/32/1257813_2.png) [@CDMJ](https://blenderartists.org/u/CDMJ)\
**Post date:** [December 14, 2012, 5:25pm UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/9 "2012-12-14T17:25:24Z")

</div>

Microsoft? Ah hah, an open source project with Pixar and Microsoft 🙂

---

<div class="post-metadata">

**Author:** ![abc123](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/b5e925/32.png) [@abc123](https://blenderartists.org/u/abc123)\
**Post date:** [December 15, 2012, 4:19am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/10 "2012-12-15T04:19:43Z")

</div>

yes, we need this new feature!

---

<div class="post-metadata">

**Author:** ![Kramon](https://blenderartists.org/letter_avatar_proxy/v4/letter/k/ecae2f/32.png) [@Kramon](https://blenderartists.org/u/Kramon)\
**Post date:** [December 15, 2012, 4:45am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/11 "2012-12-15T04:45:16Z")

</div>

Hahahhaaha im watching this and only this auto adaptive mesh… like in sculptris is quite nice… but all other features like crisp and whole subdiv is in blender damn long time 😃

---

<div class="post-metadata">

**Author:** ![n-pigeon](https://blenderartists.org/letter_avatar_proxy/v4/letter/n/ecb155/32.png) [@n-pigeon](https://blenderartists.org/u/n-pigeon)\
**Post date:** [December 15, 2012, 8:09am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/12 "2012-12-15T08:09:43Z")

</div>

> [@Kramon](#):
>
> but all other features like crisp and whole subdiv is in blender damn long time 😃

But in lower quality, speed 😜

---

<div class="post-metadata">

**Author:** ![brecht](https://blenderartists.org/letter_avatar_proxy/v4/letter/b/ecc23a/32.png) [@brecht](https://blenderartists.org/u/brecht)\
**Post date:** [December 16, 2012, 12:12am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/13 "2012-12-16T00:12:43Z")

</div>

I’m guessing we’ll integrate this library in Blender one day, just don’t know when. But note that regarding the original question in this thread, adaptive subdivision is not relevant, it’s the evaluation at arbitrary parametric points that is needed to get that working.

---

<div class="post-metadata">

**Author:** ![DrAlta](https://blenderartists.org/user_avatar/blenderartists.org/dralta/32/17786_2.png) [@DrAlta](https://blenderartists.org/u/DrAlta)\
**Post date:** [December 19, 2012, 8:46am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/14 "2012-12-19T08:46:13Z")

</div>

> [@Muffy](#):
>
> Are pixar SubDiv’s to be implemented into blender?

First an important mater of terminology, In the entire rest of the computer graphics world [Subdivision surfaces are defined as the limit of an infinite refinement process.](http://grail.cs.washington.edu/projects/subdivision/) But the Blender definition of ‘Subdivision surface’ is a polygonal mesh that has been refined with some subdivision scheme.

pixar SubDiv’s

> [@Pixar releases their patented subdiv libraries](https://blenderartists.org/t/pixar-releases-their-patented-subdiv-libraries/548547/60):
>
> not about classic subdivision. It shows a way to calculate surface positions without calculating additional geometry. Obviously not very helpful for rasterization, but could be very handy for raytracing (i.e. finding intersection points of a mesh without subdividing it, basicly giving you a render that looks like infinite subdivisions, without using any sort of smooth shading).

There is only 3 answers that the Blender foundation accept to the too much geometry problem  
1: Retopologize your model  
2: write more efficient renderer  
3: get bigger hardware.

---

<div class="post-metadata">

**Author:** ![Muffy](https://blenderartists.org/user_avatar/blenderartists.org/muffy/32/14310_2.png) [@Muffy](https://blenderartists.org/u/Muffy)\
**Post date:** [December 19, 2012, 11:45am UTC](https://blenderartists.org/t/a-more-subtle-subdivision-surface-modifier/559506/15 "2012-12-19T11:45:44Z")

</div>

> [@DrAlta](#):
>
> In the entire rest of the computer graphics world[…]

Maybe i’m not following you but every 3D content creation tool i’ve ever used or seen in production has pretty much the same subdivision ‘scheme’ as blender ; catmull-clark subdivision (1978) of a base polygonal mesh. Its actually very standard. The document you show seems to describe this very same process, except using a different refinement process. There’s really no difference.

Pixar subdivision is not a new “type”, its just a more robust implementation of catmull-clark subdivision for practical use. Some common annoying problems are solved and hard edges are much better. I was thinking of this video when i asked :

[![]( " - YouTube") ](https://www.youtube.com/watch?v=rn0NGb1crbY)
