Commit 485bb3565b6da24620e4eedde837fbfbc5cee6d2

Sylvain 2022-10-17T13:30:30

Fixed bug #6401 - change the order of triangles when using RenderCopy, RenderCopyEx and RenderFillRect

diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index aaf2e85..7f04f36 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -572,10 +572,10 @@ QueueCmdFillRects(SDL_Renderer *renderer, const SDL_FRect * rects, const int cou
 
                     *ptr_indices++ = cur_indice + 0;
                     *ptr_indices++ = cur_indice + 1;
-                    *ptr_indices++ = cur_indice + 2;
-                    *ptr_indices++ = cur_indice + 0;
-                    *ptr_indices++ = cur_indice + 2;
                     *ptr_indices++ = cur_indice + 3;
+                    *ptr_indices++ = cur_indice + 1;
+                    *ptr_indices++ = cur_indice + 3;
+                    *ptr_indices++ = cur_indice + 2;
                     cur_indice += 4;
                 }
 
@@ -3523,7 +3523,7 @@ SDL_RenderCopyF(SDL_Renderer * renderer, SDL_Texture * texture,
         float uv[8];
         const int uv_stride = 2 * sizeof (float);
         const int num_vertices = 4;
-        const int indices[6] = {0, 1, 2, 0, 2, 3};
+        const int indices[6] = {0, 1, 3, 1, 3, 2};
         const int num_indices = 6;
         const int size_indices = 4;
         float minu, minv, maxu, maxv;
@@ -3671,7 +3671,7 @@ SDL_RenderCopyExF(SDL_Renderer * renderer, SDL_Texture * texture,
         float uv[8];
         const int uv_stride = 2 * sizeof (float);
         const int num_vertices = 4;
-        const int indices[6] = {0, 1, 2, 0, 2, 3};
+        const int indices[6] = {0, 1, 3, 1, 3, 2};
         const int num_indices = 6;
         const int size_indices = 4;
         float minu, minv, maxu, maxv;