[Soc-2005-dev] Status reports please

Emmanuel Stone emmanuel.stone at gmail.com
Tue Aug 30 20:51:07 CEST 2005


Hello,

My proposal mentioned two prinicipal goals:

Firstly to modify Nurbana's C++ codebase to a be more libraryesque,
and then expose this functionality via a C API.

Secondly to convert Blender's current NURBS backend to use the new
libNurbana API.


The first goal took a considerable amount of time a work. Nurbana was
in a pre-release alpha state, was written to be an application and
made use of SDL threads. After much code refactoring, reorganisation
and reduction, I produced a working chunk of dependancy-free core code
which I could integrate into the Blender tree.

Although some of the more advanced features of Nurbana are not yet
exposed via the API, doing so will be trivial because the vast
majority of Nurbana's functionality is exposed, and the code had
already been restructured to facilitate this. I think that this shows
that the first goal mentioned in my proposal has been met.

The second goal: to convert Blender's NURBS backend to use libNurbana
is mostly complete. An unforeseen complication (the fact that Blender
used row-centric arrays for Control Points, and Nurbana uses
column-centric) has led to this process being slower than I would have
liked. Despite this, most of the functionality is now in place, and I
hope to deal with the few issues that are left before the deadline.


The other deliverables mentioned in my proposal were explicitly stated
to be "time dependent deliverables" because I suspected from the
outset that I would not have enough time to complete them. I have
completed at least one:

new curve types: B-Spline and Cardinal spline (although I haven't
looked at this in about a month and I imagine some clean-up is needed
as well as new UI)

New NURBS features from Nurbana:

Some of these I hope to have working by the deadline:

Isolines to show curvature independent of mesh resolution (in editmode)
Real subdivision: current Blender subdivision changes the shape of the
curve/surface. Nurbana's subdivision doesn't, this is very useful for
editing purposes.

Things that I won't have done before the deadline, but hope to
implement shortly:

Blending, Lofting, 
Rhino import/export for NURBS


All in all I am very pleased with how this project has gone/is going,
and the only real problem is the lack of time. It took much longer
than I expected to familiarise myself with the 2 codebases. But I am
happy that I have completed the vast majority of the work already. I
will continue to work on this project until it is done (it's a matter
of pride at this point).


i think that's everything, sorry for writing so much!

-Emmanuel


More information about the Soc-2005-dev mailing list