mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Recast: fix order of cylinder vertex drawing (XZY -> XYZ)
Face normals were flipped after the coordinate system change. This patch solves the issue.
This commit is contained in:
parent
98756f1a0b
commit
f98b3b9bff
@ -369,25 +369,25 @@ void duAppendCylinder(struct duDebugDraw* dd, float minx, float miny, float minz
|
|||||||
for (int i = 2; i < NUM_SEG; ++i)
|
for (int i = 2; i < NUM_SEG; ++i)
|
||||||
{
|
{
|
||||||
const int a = 0, b = i-1, c = i;
|
const int a = 0, b = i-1, c = i;
|
||||||
dd->vertex(cx+dir[a*2+0]*rx, cy+dir[a*2+1]*ry, minz, col2);
|
|
||||||
dd->vertex(cx+dir[b*2+0]*rx, cy+dir[b*2+1]*ry, minz, col2);
|
|
||||||
dd->vertex(cx+dir[c*2+0]*rx, cy+dir[c*2+1]*ry, minz, col2);
|
dd->vertex(cx+dir[c*2+0]*rx, cy+dir[c*2+1]*ry, minz, col2);
|
||||||
|
dd->vertex(cx+dir[b*2+0]*rx, cy+dir[b*2+1]*ry, minz, col2);
|
||||||
|
dd->vertex(cx+dir[a*2+0]*rx, cy+dir[a*2+1]*ry, minz, col2);
|
||||||
}
|
}
|
||||||
for (int i = 2; i < NUM_SEG; ++i)
|
for (int i = 2; i < NUM_SEG; ++i)
|
||||||
{
|
{
|
||||||
const int a = 0, b = i, c = i-1;
|
const int a = 0, b = i, c = i-1;
|
||||||
dd->vertex(cx+dir[a*2+0]*rx, cy+dir[a*2+1]*ry, maxz, col);
|
|
||||||
dd->vertex(cx+dir[b*2+0]*rx, cy+dir[b*2+1]*ry, maxz, col);
|
|
||||||
dd->vertex(cx+dir[c*2+0]*rx, cy+dir[c*2+1]*ry, maxz, col);
|
dd->vertex(cx+dir[c*2+0]*rx, cy+dir[c*2+1]*ry, maxz, col);
|
||||||
|
dd->vertex(cx+dir[b*2+0]*rx, cy+dir[b*2+1]*ry, maxz, col);
|
||||||
|
dd->vertex(cx+dir[a*2+0]*rx, cy+dir[a*2+1]*ry, maxz, col);
|
||||||
}
|
}
|
||||||
for (int i = 0, j = NUM_SEG-1; i < NUM_SEG; j = i++)
|
for (int i = 0, j = NUM_SEG-1; i < NUM_SEG; j = i++)
|
||||||
{
|
{
|
||||||
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, minz, col2);
|
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, minz, col2);
|
||||||
|
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, maxz, col);
|
||||||
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, minz, col2);
|
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, minz, col2);
|
||||||
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, maxz, col);
|
|
||||||
|
|
||||||
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, minz, col2);
|
|
||||||
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, maxz, col);
|
dd->vertex(cx+dir[j*2+0]*rx, cy+dir[j*2+1]*ry, maxz, col);
|
||||||
|
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, minz, col2);
|
||||||
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, maxz, col);
|
dd->vertex(cx+dir[i*2+0]*rx, cy+dir[i*2+1]*ry, maxz, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user