Minor fix in DrawLineBezier* (#3006)
When `i` starts with `0`, `t` is also `0`, which results in `previous == startPos == current`, this segment is not only redundant, but it also causes division-by-zero since `sqrtf(dx*dx + dy*dy)` is zero.
This commit is contained in:
parent
e57ee9c0e8
commit
8f741d894a
1 changed files with 2 additions and 2 deletions
|
@ -241,7 +241,7 @@ void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, fl
|
||||||
|
|
||||||
Vector2 points[2*BEZIER_LINE_DIVISIONS + 2] = { 0 };
|
Vector2 points[2*BEZIER_LINE_DIVISIONS + 2] = { 0 };
|
||||||
|
|
||||||
for (int i = 0; i <= BEZIER_LINE_DIVISIONS; i++)
|
for (int i = 1; i <= BEZIER_LINE_DIVISIONS; i++)
|
||||||
{
|
{
|
||||||
t = step*i;
|
t = step*i;
|
||||||
float a = powf(1 - t, 2);
|
float a = powf(1 - t, 2);
|
||||||
|
@ -286,7 +286,7 @@ void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlP
|
||||||
|
|
||||||
Vector2 points[2*BEZIER_LINE_DIVISIONS + 2] = { 0 };
|
Vector2 points[2*BEZIER_LINE_DIVISIONS + 2] = { 0 };
|
||||||
|
|
||||||
for (int i = 0; i <= BEZIER_LINE_DIVISIONS; i++)
|
for (int i = 1; i <= BEZIER_LINE_DIVISIONS; i++)
|
||||||
{
|
{
|
||||||
t = step*i;
|
t = step*i;
|
||||||
float a = powf(1 - t, 3);
|
float a = powf(1 - t, 3);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue