[Bf-committers] Report of HE Mesh
joeedh
joeeagar at prodigy.net
Sun Mar 6 23:09:33 CET 2005
Hi. Here is the current feature (and bug) list of HE Mesh.
---Good things:----
* Full support for all three selection modes
* Region and (winged) vertex extrusion tools.
* Subdive tool
* Select more/less tool
* Unified tool interface
* A special move-along normal tool just for HE, to be used until the new
transform is compatible with the unified tool interface.
* Tool macro support
* Tool painting support, consisting of a extern_qread() loop that
selects a face and executes a tool macro once every 0.7 seconds (if the
mouse button is down).
* Subdivision Surface support, including optimal draw (this took writing
a more generic optimal-reference layer in addition to the current one of
top of the subdivisor. note: whoever wrote subsurf included ngons from
the start!).
* Face and edge loops (although yesterday face loops suddenly started to
make Blender crash, need to investigate).
* Convert normal mesh to HE mesh.
* Simple error system used to undo tools that ruin manifoldness.
* Simple method of catching non-manifoldness of normal meshes on
conversion, and rejecting them based on simple error system.
----Bad things----
* Render converter code isn't quite there yet. I intend to have HE Mesh
convert itself to a triangulated normal Mesh, and then feed that to the
renderer
* Material buttons arn't working, either. I once rewrote a portion of
the unified linking buttons (which I believe is what is causing the
problem) for my old CSG project, but I can't really remember what I did.
* Smooth/Solid flags arn't working either; right now non-subsurf is
solid, and subsurfed is smooth shaded.
* Fast undo restore code doesn't work, so I have to use a slightly
slower version. Not too bad, but is a little slow on large meshes.
* Method of fast-edge lookup isn't the best, and can sometimes cause
crashes if you're not careful coding user tools. Edge references are
store inside the verts (NOTE: this is NEVER to be used for writing tools
that depend on adjacent edges around a vert! There are functions for
gettting that info based on the HE structure that's more correct and
useful.).
Later on I'll post in the Wiki info about my modulator API, which I use
to manage certain sub-modules of HE.
Also, I think we need to figure out some conventions for when there are
sub-modules within a module. Naming conventions for this is something
I'm having problems with. Should it be MODULE_FirstWord(blah) for
extern functions, MODULE_firstWord(blah) for sub-module extern
functions, and module_firstword(blah) for internal static functions?
Of course, if I end up porting all my code to my modulator api, then
that would become a moot point (just the way it works).
joeedh
More information about the Bf-committers
mailing list