I'm trying to compute the analytic normals for a B-Spline surface. I know the normal is the cross product of the partial derivatives of the surface but I'm not sure if I'm taking the partial derivatives correctly.

Since a B-Spline surface is just the sum of the basis functions in each direction multiplied by the control points (2), I should just be able to take the derivative of each term and add them up (3), correct?

I'm getting the derivative of the basis function from [0].

What about the control points? Are they constant with respect to u and v? How do I take their derivative?

Thanks,

Victor

[0] - http://members.gamedev.net/skyork/pdfs/Bspline_Construction_Summary2005.pdf