aboutsummaryrefslogtreecommitdiff
path: root/src/shapes.c
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2014-07-23 01:25:33 +0200
committerraysan5 <raysan5@gmail.com>2014-07-23 01:25:33 +0200
commitecb3c47704ccaa349ee4824b019181d700919582 (patch)
treeef3059010117ac78c1548494903a9c60c71b149c /src/shapes.c
parent0b03431c95c3c348aa686c1a3df68a51bd7761a6 (diff)
downloadraylib-ecb3c47704ccaa349ee4824b019181d700919582.tar.gz
raylib-ecb3c47704ccaa349ee4824b019181d700919582.zip
Corrected bug with drawing order
We have three vertex buffers: lines, triangles and quads for textures. Drawing in a desired order could become a nighmare... noww it seems it works prety well...
Diffstat (limited to 'src/shapes.c')
-rw-r--r--src/shapes.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/shapes.c b/src/shapes.c
index 2c589512..ad02de17 100644
--- a/src/shapes.c
+++ b/src/shapes.c
@@ -180,6 +180,7 @@ void DrawRectangleGradient(int posX, int posY, int width, int height, Color colo
// Draw a color-filled rectangle (Vector version)
void DrawRectangleV(Vector2 position, Vector2 size, Color color)
{
+/*
rlBegin(RL_TRIANGLES);
rlColor4ub(color.r, color.g, color.b, color.a);
@@ -191,6 +192,30 @@ void DrawRectangleV(Vector2 position, Vector2 size, Color color)
rlVertex2i(position.x + size.x, position.y + size.y);
rlVertex2i(position.x + size.x, position.y);
rlEnd();
+*/
+
+ // NOTE: This shape uses QUADS to avoid drawing order issues (view rlglDraw)
+
+ rlEnableTexture(1); // Default white texture
+
+ rlBegin(RL_QUADS);
+ rlColor4ub(color.r, color.g, color.b, color.a);
+ rlNormal3f(0.0f, 0.0f, 1.0f); // Normal Pointing Towards Viewer
+
+ rlTexCoord2f(0.0f, 0.0f);
+ rlVertex2f(position.x, position.y);
+
+ rlTexCoord2f(0.0f, 1.0f);
+ rlVertex2f(position.x, position.y + size.y);
+
+ rlTexCoord2f(1.0f, 1.0f);
+ rlVertex2f(position.x + size.x, position.y + size.y);
+
+ rlTexCoord2f(1.0f, 0.0f);
+ rlVertex2f(position.x + size.x, position.y);
+ rlEnd();
+
+ rlDisableTexture();
}
// Draw rectangle outline