diff --git a/examples/textures/textures_polygon.c b/examples/textures/textures_polygon.c index 2491e1bc2e74..4805e3992d8b 100644 --- a/examples/textures/textures_polygon.c +++ b/examples/textures/textures_polygon.c @@ -115,8 +115,7 @@ void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 { rlSetTexture(texture.id); - // Texturing is only supported on RL_QUADS - rlBegin(RL_QUADS); + rlBegin(RL_TRIANGLES); rlColor4ub(tint.r, tint.g, tint.b, tint.a); @@ -130,9 +129,6 @@ void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 rlTexCoord2f(texcoords[i + 1].x, texcoords[i + 1].y); rlVertex2f(points[i + 1].x + center.x, points[i + 1].y + center.y); - - rlTexCoord2f(texcoords[i + 1].x, texcoords[i + 1].y); - rlVertex2f(points[i + 1].x + center.x, points[i + 1].y + center.y); } rlEnd(); diff --git a/src/rlgl.h b/src/rlgl.h index 875b568f5258..b97ca18eb075 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -1450,6 +1450,7 @@ void rlBegin(int mode) // NOTE: In all three cases, vertex are accumulated over default internal vertex buffer if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode != mode) { + int currentTexture = RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId; if (RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount > 0) { // Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4, @@ -1472,13 +1473,14 @@ void rlBegin(int mode) RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode = mode; RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].vertexCount = 0; - RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = RLGL.State.defaultTextureId; + RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = currentTexture; } } // Finish vertex providing void rlEnd(void) { + rlSetTexture(RLGL.State.defaultTextureId); // NOTE: Depth increment is dependant on rlOrtho(): z-near and z-far values, // as well as depth buffer bit-depth (16bit or 24bit or 32bit) // Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits)