Given that I have implemented a function called calc_bspline_surf() in C, and that function has the following declaration:
calc_bspline_surf(ctrlnet, p, q, U, V, u, v)
/*
ctrlnet --> control net of B-spline surface
p, q --> degree of B-spline surface
U, V --> the knots vector in two directions
u, v --> parameter pair
*/
So for a pair of parameters {u, v}, corresponding B-spline surface coordinate could be generated via calling function calc_bspline_surf(u, v).
Here is a solution that sampling the 3D points uniformly in two direction
for u = {0, 0.05, ..., 1}
for v= {0, 0.05, ..., 1}
calc_bspline_surf(u, v)

However, how many 3D-points I need to sample? Is there classical sample strategy?
ParametricPlot3D[f[x, y], {x, 0, 1}, {y, 0, 1}]to draw a B-spline surface. – xyz Aug 07 '16 at 01:51