Right now i'm creating polygons with bezier handles. It's working well, except right now I always do something like this:
for(float i = 0; i < 1; i += 0.04)
{
interpolate A, a.handle to B.handle, B at time i
}
The problem is no matter how short the distance or long the distance between point A and B, it always produces the same amount of points. How could I do it so it always looks good but only interpolates as much as it has to. Ex: if Distance(A,B) is 40, then it may only subdivide like 15 times but then if Distance(A,B) is 20 it may only subdivide 7 times etc. How could I do this as a function of quality ex:
float GetThreshold(float distance, float quality)
{
}
Or something like that. Thanks