Hey folks!

I’m porting over some 3D ribbon code that was working normally in version 0.74 – the ribbons are generated in 3D using perlin noise and use quaternions to calculate the normals. In 0.8, the lighting appears to be working, except for black banding that occurs from time to time – depending on orientation of the curvature (they twist).

Here’s a snapshot:

For comparison, I’ve drawn a sphere (using ofDrawSphere) and I am not getting the same dark areas.

Needless to say, I’m a little stumped by this problem.

And here’s a lil’ snippet of the ribbon vertex and normal calculation:

```
// get the pt and the quaternion
ofVec3f pathPt = vertices[i];
ofQuaternion quat = angles[i];
float angle;
ofVec3f axis;
ofVec3f vec;
quat.getRotate(angle, axis);
// calculate path pts (-5/+5)
ofVec3f p1 = pathPt + ofVec3f(0, -5, 0).getRotated(angle, axis);
ofVec3f p2 = pathPt + ofVec3f(0, 5, 0).getRotated(angle, axis);
ofVec3f normal(0, 0, 1);
normal.rotate(angle, axis);
normal.normalize();
```

Any thoughts on what might be causing this?

++thanks in advance,

Jeremy