Drawing Bezier Surfaces
Better approach is to use adaptive subdivision:
DrawSurface(surface)
{
if Flat (surface, epsilon) {
DrawQuadrilateral(surface);
}
else {
SubdivideSurface(surface, ...);
DrawSurface(surfaceLL);
DrawSurface(surfaceLR);
DrawSurface(surfaceRL);
DrawSurface(surfaceRR);
}
}
Uniform subdivision
Adaptive subdivision
Watt Figure 6.32
Previous slide
Next slide
Back to first slide
View graphic version