mirror of
https://github.com/raysan5/raylib.git
synced 2026-08-25 13:48:27 -04:00
Compare commits
2 Commits
4640c84920
...
d224912bd5
| Author | SHA1 | Date | |
|---|---|---|---|
| d224912bd5 | |||
| 39706cccbe |
4
src/external/rlsw.h
vendored
4
src/external/rlsw.h
vendored
@ -3909,7 +3909,6 @@ static void sw_immediate_set_color(const float color[4])
|
|||||||
RLSW.primitive.color[2] = color[2];
|
RLSW.primitive.color[2] = color[2];
|
||||||
RLSW.primitive.color[3] = color[3];
|
RLSW.primitive.color[3] = color[3];
|
||||||
|
|
||||||
RLSW.primitive.hasColorAlpha |= (color[3] < 1.0f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sw_immediate_set_texcoord(const float texcoord[2])
|
static void sw_immediate_set_texcoord(const float texcoord[2])
|
||||||
@ -3948,6 +3947,9 @@ static void sw_immediate_push_vertex(const float position[4])
|
|||||||
for (int i = 0; i < 4; i++) vertex->color[i] = RLSW.primitive.color[i];
|
for (int i = 0; i < 4; i++) vertex->color[i] = RLSW.primitive.color[i];
|
||||||
for (int i = 0; i < 2; i++) vertex->texcoord[i] = RLSW.primitive.texcoord[i];
|
for (int i = 0; i < 2; i++) vertex->texcoord[i] = RLSW.primitive.texcoord[i];
|
||||||
|
|
||||||
|
// Track whether any vertex in this primitive has alpha < 1.0
|
||||||
|
RLSW.primitive.hasColorAlpha |= (vertex->color[3] < 1.0f);
|
||||||
|
|
||||||
// Immediate rendering of the primitive if the required number is reached
|
// Immediate rendering of the primitive if the required number is reached
|
||||||
if (RLSW.primitive.vertexCount == SW_PRIMITIVE_VERTEX_COUNT[RLSW.drawMode])
|
if (RLSW.primitive.vertexCount == SW_PRIMITIVE_VERTEX_COUNT[RLSW.drawMode])
|
||||||
{
|
{
|
||||||
|
|||||||
300
src/rshapes.c
300
src/rshapes.c
@ -888,14 +888,13 @@ void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color co
|
|||||||
// Draw rectangle with rounded edges
|
// Draw rectangle with rounded edges
|
||||||
void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color)
|
void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color)
|
||||||
{
|
{
|
||||||
// NOTE: For line thicknes <=1.0f using RL_LINES, otherwise using RL_QUADS/RL_TRIANGLES
|
|
||||||
DrawRectangleRoundedLinesEx(rec, roundness, segments, 1.0f, color);
|
DrawRectangleRoundedLinesEx(rec, roundness, segments, 1.0f, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw rectangle with rounded edges outline with line thickness
|
// Draw rectangle with rounded edges outline with line thickness
|
||||||
void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float thick, Color color)
|
void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float thick, Color color)
|
||||||
{
|
{
|
||||||
if (thick < 0) thick = 0;
|
if (thick <= 0) return;
|
||||||
|
|
||||||
// Not a rounded rectangle
|
// Not a rounded rectangle
|
||||||
if (roundness <= 0.0f)
|
if (roundness <= 0.0f)
|
||||||
@ -966,176 +965,145 @@ void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, f
|
|||||||
|
|
||||||
const float angles[4] = { 180.0f, 270.0f, 0.0f, 90.0f };
|
const float angles[4] = { 180.0f, 270.0f, 0.0f, 90.0f };
|
||||||
|
|
||||||
if (thick > 1)
|
|
||||||
{
|
|
||||||
#if SUPPORT_QUADS_DRAW_MODE
|
#if SUPPORT_QUADS_DRAW_MODE
|
||||||
rlSetTexture(GetShapesTexture().id);
|
rlSetTexture(GetShapesTexture().id);
|
||||||
Rectangle shapeRect = GetShapesTextureRectangle();
|
Rectangle shapeRect = GetShapesTextureRectangle();
|
||||||
|
|
||||||
rlBegin(RL_QUADS);
|
rlBegin(RL_QUADS);
|
||||||
|
|
||||||
// Draw all the 4 corners first: Upper Left Corner, Upper Right Corner, Lower Right Corner, Lower Left Corner
|
// Draw all the 4 corners first: Upper Left Corner, Upper Right Corner, Lower Right Corner, Lower Left Corner
|
||||||
for (int k = 0; k < 4; ++k) // Hope the compiler is smart enough to unroll this loop
|
for (int k = 0; k < 4; ++k) // Hope the compiler is smart enough to unroll this loop
|
||||||
{
|
{
|
||||||
float angle = angles[k];
|
float angle = angles[k];
|
||||||
const Vector2 center = centers[k];
|
const Vector2 center = centers[k];
|
||||||
for (int i = 0; i < segments; i++)
|
for (int i = 0; i < segments; i++)
|
||||||
{
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius);
|
|
||||||
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
|
||||||
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius);
|
|
||||||
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
|
||||||
|
|
||||||
angle += stepLength;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Upper rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[0].x, point[0].y);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[8].x, point[8].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[9].x, point[9].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[1].x, point[1].y);
|
|
||||||
|
|
||||||
// Right rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[2].x, point[2].y);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[10].x, point[10].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[11].x, point[11].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[3].x, point[3].y);
|
|
||||||
|
|
||||||
// Lower rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[13].x, point[13].y);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[5].x, point[5].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[4].x, point[4].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[12].x, point[12].y);
|
|
||||||
|
|
||||||
// Left rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[15].x, point[15].y);
|
|
||||||
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[7].x, point[7].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
|
||||||
rlVertex2f(point[6].x, point[6].y);
|
|
||||||
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
|
||||||
rlVertex2f(point[14].x, point[14].y);
|
|
||||||
|
|
||||||
rlEnd();
|
|
||||||
rlSetTexture(0);
|
|
||||||
#else
|
|
||||||
rlBegin(RL_TRIANGLES);
|
|
||||||
|
|
||||||
// Draw all of the 4 corners first: Upper Left Corner, Upper Right Corner, Lower Right Corner, Lower Left Corner
|
|
||||||
for (int k = 0; k < 4; ++k) // Hope the compiler is smart enough to unroll this loop
|
|
||||||
{
|
|
||||||
float angle = angles[k];
|
|
||||||
const Vector2 center = centers[k];
|
|
||||||
|
|
||||||
for (int i = 0; i < segments; i++)
|
|
||||||
{
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
|
||||||
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
|
||||||
|
|
||||||
angle += stepLength;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Upper rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlVertex2f(point[0].x, point[0].y);
|
|
||||||
rlVertex2f(point[8].x, point[8].y);
|
|
||||||
rlVertex2f(point[9].x, point[9].y);
|
|
||||||
rlVertex2f(point[1].x, point[1].y);
|
|
||||||
rlVertex2f(point[0].x, point[0].y);
|
|
||||||
rlVertex2f(point[9].x, point[9].y);
|
|
||||||
|
|
||||||
// Right rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlVertex2f(point[10].x, point[10].y);
|
|
||||||
rlVertex2f(point[11].x, point[11].y);
|
|
||||||
rlVertex2f(point[3].x, point[3].y);
|
|
||||||
rlVertex2f(point[2].x, point[2].y);
|
|
||||||
rlVertex2f(point[10].x, point[10].y);
|
|
||||||
rlVertex2f(point[3].x, point[3].y);
|
|
||||||
|
|
||||||
// Lower rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlVertex2f(point[13].x, point[13].y);
|
|
||||||
rlVertex2f(point[5].x, point[5].y);
|
|
||||||
rlVertex2f(point[4].x, point[4].y);
|
|
||||||
rlVertex2f(point[12].x, point[12].y);
|
|
||||||
rlVertex2f(point[13].x, point[13].y);
|
|
||||||
rlVertex2f(point[4].x, point[4].y);
|
|
||||||
|
|
||||||
// Left rectangle
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlVertex2f(point[7].x, point[7].y);
|
|
||||||
rlVertex2f(point[6].x, point[6].y);
|
|
||||||
rlVertex2f(point[14].x, point[14].y);
|
|
||||||
rlVertex2f(point[15].x, point[15].y);
|
|
||||||
rlVertex2f(point[7].x, point[7].y);
|
|
||||||
rlVertex2f(point[14].x, point[14].y);
|
|
||||||
rlEnd();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Use LINES to draw the outline
|
|
||||||
rlBegin(RL_LINES);
|
|
||||||
// Draw all the 4 corners first: Upper Left Corner, Upper Right Corner, Lower Right Corner, Lower Left Corner
|
|
||||||
for (int k = 0; k < 4; ++k) // Hope the compiler is smart enough to unroll this loop
|
|
||||||
{
|
|
||||||
float angle = angles[k];
|
|
||||||
const Vector2 center = centers[k];
|
|
||||||
|
|
||||||
for (int i = 0; i < segments; i++)
|
|
||||||
{
|
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
|
||||||
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius);
|
|
||||||
angle += stepLength;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// And now the remaining 4 lines
|
|
||||||
for (int i = 0; i < 8; i += 2)
|
|
||||||
{
|
{
|
||||||
rlColor4ub(color.r, color.g, color.b, color.a);
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
rlVertex2f(point[i].x, point[i].y);
|
|
||||||
rlVertex2f(point[i + 1].x, point[i + 1].y);
|
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius);
|
||||||
|
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
||||||
|
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius);
|
||||||
|
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
||||||
|
|
||||||
|
angle += stepLength;
|
||||||
}
|
}
|
||||||
rlEnd();
|
}
|
||||||
}
|
|
||||||
|
// Upper rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[0].x, point[0].y);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[8].x, point[8].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[9].x, point[9].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[1].x, point[1].y);
|
||||||
|
|
||||||
|
// Right rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[2].x, point[2].y);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[10].x, point[10].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[11].x, point[11].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[3].x, point[3].y);
|
||||||
|
|
||||||
|
// Lower rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[13].x, point[13].y);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[5].x, point[5].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[4].x, point[4].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[12].x, point[12].y);
|
||||||
|
|
||||||
|
// Left rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[15].x, point[15].y);
|
||||||
|
rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[7].x, point[7].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height);
|
||||||
|
rlVertex2f(point[6].x, point[6].y);
|
||||||
|
rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height);
|
||||||
|
rlVertex2f(point[14].x, point[14].y);
|
||||||
|
|
||||||
|
rlEnd();
|
||||||
|
rlSetTexture(0);
|
||||||
|
#else
|
||||||
|
rlBegin(RL_TRIANGLES);
|
||||||
|
|
||||||
|
// Draw all of the 4 corners first: Upper Left Corner, Upper Right Corner, Lower Right Corner, Lower Left Corner
|
||||||
|
for (int k = 0; k < 4; ++k) // Hope the compiler is smart enough to unroll this loop
|
||||||
|
{
|
||||||
|
float angle = angles[k];
|
||||||
|
const Vector2 center = centers[k];
|
||||||
|
|
||||||
|
for (int i = 0; i < segments; i++)
|
||||||
|
{
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
||||||
|
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius);
|
||||||
|
rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius);
|
||||||
|
|
||||||
|
angle += stepLength;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Upper rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlVertex2f(point[0].x, point[0].y);
|
||||||
|
rlVertex2f(point[8].x, point[8].y);
|
||||||
|
rlVertex2f(point[9].x, point[9].y);
|
||||||
|
rlVertex2f(point[1].x, point[1].y);
|
||||||
|
rlVertex2f(point[0].x, point[0].y);
|
||||||
|
rlVertex2f(point[9].x, point[9].y);
|
||||||
|
|
||||||
|
// Right rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlVertex2f(point[10].x, point[10].y);
|
||||||
|
rlVertex2f(point[11].x, point[11].y);
|
||||||
|
rlVertex2f(point[3].x, point[3].y);
|
||||||
|
rlVertex2f(point[2].x, point[2].y);
|
||||||
|
rlVertex2f(point[10].x, point[10].y);
|
||||||
|
rlVertex2f(point[3].x, point[3].y);
|
||||||
|
|
||||||
|
// Lower rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlVertex2f(point[13].x, point[13].y);
|
||||||
|
rlVertex2f(point[5].x, point[5].y);
|
||||||
|
rlVertex2f(point[4].x, point[4].y);
|
||||||
|
rlVertex2f(point[12].x, point[12].y);
|
||||||
|
rlVertex2f(point[13].x, point[13].y);
|
||||||
|
rlVertex2f(point[4].x, point[4].y);
|
||||||
|
|
||||||
|
// Left rectangle
|
||||||
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
||||||
|
rlVertex2f(point[7].x, point[7].y);
|
||||||
|
rlVertex2f(point[6].x, point[6].y);
|
||||||
|
rlVertex2f(point[14].x, point[14].y);
|
||||||
|
rlVertex2f(point[15].x, point[15].y);
|
||||||
|
rlVertex2f(point[7].x, point[7].y);
|
||||||
|
rlVertex2f(point[14].x, point[14].y);
|
||||||
|
rlEnd();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw a polygon of n sides
|
// Draw a polygon of n sides
|
||||||
|
|||||||
Reference in New Issue
Block a user