Mesh normals implementation

These are just loose, unstructured notes.

  • Store normals for each face vertex
  • Store a flag along with each normal vector containing a state:
ValueMeaning
LockedUser editied this normal, no automatic changes to this normal
SoftPart of soft edge: this normal always is the average of adjacent face normals, is updated automatically when vertices move
HardPart of hard edge: this normal always is the same as the corresponding face normal, is updated automatically when vertices move
  • User can lock/unlock normals and set normal modes for each face vertex
  • Requires a (quite sophisticated?) editing mode for normals.
  • In the first iteration it might be enough to be able to switch the flag between soft and hard (no real editing yet, but implementable)