[Soc-2014-dev] Weekly Report #10: NURBS Modernization

David Fenner d4vidfenner at gmail.com
Sat Jul 26 15:31:24 CEST 2014


Moi is the best nurbs to poly converter i have ever found. Fast, robust,
flexible, clean... Definitely somewhere to aim to.
El jul 26, 2014 9:27 a.m., "claas kuhnen" <info at ckbrd.de> escribió:

> I use MOI as my main nurbs to mesh converter and it uses ngons a lot not
> for holes but surfaces.
>
> Claas
> On Jul 26, 2014 8:51 AM, "Dalai Felinto" <dfelinto at gmail.com> wrote:
>
>> Hi,
>>
>> > * Does anyone know of good example code for making a BMesh out of
>> n-gons? N-gons would make the meshes produced by Alt+C *much* cleaner.
>>
>> Be aware that N-gons don't support holes (at the moment), so you may
>> get buggy meshes during this conversion. But as Sergey said, you don't
>> need to convert the nurbs to ngons.
>>
>> Cheers,
>> Dalai
>> --
>> blendernetwork.org/dalai-felinto
>> www.dalaifelinto.com
>>
>>
>> 2014-07-26 8:39 GMT-03:00 Sergey Sharybin <sergey.vfx at gmail.com>:
>> > Hi,
>> >
>> > It's cool to hear you're doing progress, but what about committing the
>> stuff
>> > to Git? Last commit was done on Monday and in the report you claim
>> having
>> > progress since that. Commit the stuff even if it's not production ready.
>> > I've asked about this several times already.
>> >
>> > Before you go to importing or making improvements to curve->mesh
>> conversion
>> > i'll demand wrapping existing code up, making so it's used in blende
>> (and
>> > commit everything!)r and preparing demo files for this.
>> >
>> > As for ngon examples, you just need to fill in mpoly and mloop arrays
>> > actually. MOD_boolean_util.c has examples (it operates with
>> DerivedMesh, but
>> > it's almost the same as you need for curve->mesh conversion).
>> >
>> > Also, what are the plans for the next week?
>> >
>> >
>> > On Sat, Jul 26, 2014 at 1:43 PM, Jonathan deWerd <jjoonathan at gmail.com>
>> > wrote:
>> >>
>> >> This week was largely eaten up by a task that I thought would be a
>> quick
>> >> copy/paste job but turned into a morass of debugging math code.
>> Fortunately
>> >> that part is done -- and the result is much prettier smooth curves:
>> >>
>> >> http://wiki.blender.org/index.php/User:Jjoonathan/New_NURBS_Eval
>> >>
>> >> Progress This Week:
>> >> * Finished the new evaluation code. Key features:
>> >> * Computes any number of partial derivatives analytically
>> >> * Immediate application 1: compute normals analytically = it looks
>> smooth
>> >> again :)
>> >> * No nasty lighting artifacts near trim edges
>> >> * No seams where curves touch/loop due to calculating normals at
>> polygon
>> >> corners
>> >> * Immediate application 2: handle (literal) edge cases of eval points
>> >> lying on knots correctly
>> >> * Immediate application 3: uses 1/2 as many divisions, so possibly it's
>> >> faster, although I didn't check
>> >> * Future application: computing error bounds
>> >> * Performed extensive verification of the new eval code
>> >> * Mesh points coincide with Rhino surfaces
>> >> * All 1st, 2nd (partial) derivatives agree with Mathematica's NURBS
>> >> implementation (direction, amplitude correct).
>> >> * Made progress on the trim curve tessellator.
>> >> * NOTE: last week I mistakingly said that I had finished the trim curve
>> >> tessellator when I actually meant to say that I had finished the
>> surface
>> >> tessellator.
>> >> * Refactored the import code so that it can make detatched curves
>> >> * Adjusted memory management & blenloader
>> >> * The trim curve tessellator isn't a sticking point, I only got around
>> to
>> >> working on it again today. The eval code was the sticking point.
>> >>
>> >> Things that were done that don't officially constitute progress:
>> >> * Spent Thursday finishing rotation surface & interpolation surface
>> >> chapters in P&T
>> >>
>> >> Things that must be done before I can import the sample .3dm files:
>> >> * Finish the trim curve tessellator
>> >> * Rotation surfaces
>> >>
>> >> Things I could use help on:
>> >> * Does anyone know of good example code for making a BMesh out of
>> n-gons?
>> >> N-gons would make the meshes produced by Alt+C *much* cleaner.
>> >>
>> >>
>> >>
>> >> On Jul 19, 2014, at 1:28 PM, claas kuhnen <info at ckbrd.de> wrote:
>> >>
>> >> So agree I am very excited about this
>> >>
>> >> On Jul 19, 2014 1:27 PM, "Sergey Sharybin" <sergey.vfx at gmail.com>
>> wrote:
>> >>>
>> >>> Seems to be rather nice progress. Would be cool if all the bits are
>> >>> committed and some .blend in shared which demonstrates the stuff.
>> >>>
>> >>>
>> >>> On Sat, Jul 19, 2014 at 4:31 PM, Jonathan deWerd <
>> jjoonathan at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> Progress:
>> >>>> * Finished code to tessellate trim curves!
>> >>>>         see:
>> >>>> http://wiki.blender.org/index.php/User:Jjoonathan/NURBS_In_Blender
>> >>>> * Rewrote knot code to match the conventions in the math literature,
>> >>>> tested for compatibility by comparing meshes
>> >>>> * Worked on adapting a better NURBS evaluation algorithm that can
>> >>>> produce first and second derivatives (for normals and error bounds,
>> >>>> respectively).
>> >>>>         it's still buggy.
>> >>>> * Worked further on the NurbEdge interface to handle imported trim
>> >>>> curves
>> >>>>         still working on code to match endpoints that are separated
>> in
>> >>>> UV space but coincide in R3 due to either wrapping in UV space
>> (cyclic
>> >>>> NURBS) or coving
>> >>>>
>> >>>> Todo:
>> >>>> * Finish tracking down the NaN-producing bugs in the new surface
>> >>>> evaluator
>> >>>>         From there, should be easy to implement good normals
>> >>>> * Finish NurbEdge so that it at least handles wrapping in UV space.
>> This
>> >>>> will allow importing of most .3dm files.
>> >>>> * Implement revolution surfaces.
>> >>>>         Demo Claas's hairdryer model!
>> >>>>
>> >>>> On Jul 12, 2014, at 11:14 AM, Jonathan deWerd <jjoonathan at gmail.com>
>> >>>> wrote:
>> >>>>
>> >>>> > (Apologies if this is a duplicate email. I see a copy of this
>> email in
>> >>>> > gmail's "sent" folder but I don't see one in my inbox, so I'm
>> sending
>> >>>> > again.)
>> >>>> >
>> >>>> > Progress:
>> >>>> > * Finished the code that traverses BReps from 3dm files and cuts
>> them
>> >>>> > into surfaces
>> >>>> > * 2D Trim curves import as Nurb objects that are appended to a
>> >>>> > NurbList in their parent surface
>> >>>> >       Just curves currently, I still have to get multi-part loops
>> >>>> > working
>> >>>> >       Also they don't seem to be preserved by DNA even after
>> calling
>> >>>> > makesdna...
>> >>>> > * Moved surf_gridmesh into bf_blenkernel, promoted curve.c to
>> >>>> > curve.cpp (for future OpenNurbs use), fixed a few small bugs that
>> caused,
>> >>>> > moved the GLUT debug code into blender/tests, convinced CMake to
>> build and
>> >>>> > link it
>> >>>> > * Wrote, debugged the method that builds the displist from the
>> >>>> > gridmesh
>> >>>> > * Timed it, see pretty graph a few emails back
>> >>>> > * Started writing NurbEdge structure to handle in general the
>> sewing
>> >>>> > of trim edges and cyclic edges (e.g. so that spheres don't have
>> seams)
>> >>>> >
>> >>>> > Next up:
>> >>>> > * I still need to finish the code that tessellates the trim
>> curves. I
>> >>>> > didn't get much time to work on it today, so I'm planning to work
>> on it
>> >>>> > tomorrow as well.
>> >>>> > * Get trim curves to load/save from .blend files by figuring out
>> what
>> >>>> > I'm doing wrong with makesdna
>> >>>> > * Finish NurbEdge interface for defining edges to sew, get it in
>> DNA
>> >>>> > as well
>> >>>> > * Use NurbEdge to implement revolution surfaces
>> >>>> >
>> >>>>
>> >>>> _______________________________________________
>> >>>> Soc-2014-dev mailing list
>> >>>> Soc-2014-dev at blender.org
>> >>>> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> With best regards, Sergey Sharybin
>> >>>
>> >>> _______________________________________________
>> >>> Soc-2014-dev mailing list
>> >>> Soc-2014-dev at blender.org
>> >>> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>> >>>
>> >> _______________________________________________
>> >> Soc-2014-dev mailing list
>> >> Soc-2014-dev at blender.org
>> >> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> Soc-2014-dev mailing list
>> >> Soc-2014-dev at blender.org
>> >> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>> >>
>> >
>> >
>> >
>> > --
>> > With best regards, Sergey Sharybin
>> >
>> > _______________________________________________
>> > Soc-2014-dev mailing list
>> > Soc-2014-dev at blender.org
>> > http://lists.blender.org/mailman/listinfo/soc-2014-dev
>> >
>> _______________________________________________
>> Soc-2014-dev mailing list
>> Soc-2014-dev at blender.org
>> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>>
>
> _______________________________________________
> Soc-2014-dev mailing list
> Soc-2014-dev at blender.org
> http://lists.blender.org/mailman/listinfo/soc-2014-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2014-dev/attachments/20140726/ef2e243f/attachment-0001.htm 


More information about the Soc-2014-dev mailing list