[Bf-committers] Subdivision Surfaces Proposal

Matthew H. Plough bf-committers@blender.org
Tue, 25 Nov 2003 01:22:36 -0500

Hi Lyndon, and the rest of you coders:

Thanks for your interest in implementing a new mesh data structure. I have
done a bunch more research, and have encountered a data structure called the
non-manifold indexed data structure with adjacencies; De Floriani and Hui
wrote a paper on it entitled "A scalable data structure for
three-dimensional non-manifold objects."

While the partial entity structure (that I described previously) is designed
to represent non-manifold objects, this structure and its contemporaries "do
not scale with the number of non-manifold singularities, since they have
been developed under the assumption that objects contain several
non-manifold joints." (De Floriani 2003)  The newer NMIA representation is
designed specifically to scale in this fashion, and since most meshes that
people use are manifold, the NMIA structure does not incur a huge storage
cost above Blender's current mesh representation.

I know that most coders are currently busy with other work and do not want
to touch Blender's mesh data structure until perhaps version 3, but I
believe that beginning work on revamping Blender's meshes as soon as
possible would be better in the long run.  A lot of the code is a huge mess,
and it seems that many hacks have been added on top of quick hacks.  The
only way to continue developing mesh tools without a data structure update
is to continue hacking, and doing so will only make the code more difficult
to understand.  The cleaner code that I seek to provide would make life
easier for developers, and allow newcomers to spend less time learning the
quirks and begin contributing code much sooner.

Email me if you are interested in working on this project; I have yet to
move even to a planning stage as I'm still researching the topic.

Matthew H. Plough