|
|
@@ -1,6 +1,6 @@
|
|
|
/*******************************************************************************************
|
|
|
*
|
|
|
-* raylib [shaders] example - Rounded Rectangle
|
|
|
+* raylib [shaders] example - rounded rectangle
|
|
|
*
|
|
|
* Example complexity rating: [★★★☆] 3/4
|
|
|
*
|
|
|
@@ -24,9 +24,8 @@
|
|
|
#endif
|
|
|
|
|
|
//------------------------------------------------------------------------------------
|
|
|
-// Declare custom Structs
|
|
|
+// Structs definition
|
|
|
//------------------------------------------------------------------------------------
|
|
|
-
|
|
|
// Rounded rectangle data
|
|
|
typedef struct {
|
|
|
Vector4 cornerRadius; // Individual corner radius (top-left, top-right, bottom-left, bottom-right)
|
|
|
@@ -54,7 +53,6 @@ typedef struct {
|
|
|
//------------------------------------------------------------------------------------
|
|
|
// Module Functions Declaration
|
|
|
//------------------------------------------------------------------------------------
|
|
|
-
|
|
|
// Create a rounded rectangle and set uniform locations
|
|
|
static RoundedRectangle CreateRoundedRectangle(Vector4 cornerRadius, float shadowRadius, Vector2 shadowOffset, float shadowScale, float borderThickness, Shader shader);
|
|
|
|
|
|
@@ -71,11 +69,7 @@ int main(void)
|
|
|
const int screenWidth = 800;
|
|
|
const int screenHeight = 450;
|
|
|
|
|
|
- const Color rectangleColor = BLUE;
|
|
|
- const Color shadowColor = DARKBLUE;
|
|
|
- const Color borderColor = SKYBLUE;
|
|
|
-
|
|
|
- InitWindow(screenWidth, screenHeight, "raylib [shaders] example - Rounded Rectangle");
|
|
|
+ InitWindow(screenWidth, screenHeight, "raylib [shaders] example - rounded rectangle");
|
|
|
|
|
|
// Load the shader
|
|
|
Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/base.vs", GLSL_VERSION),
|
|
|
@@ -94,6 +88,10 @@ int main(void)
|
|
|
// Update shader uniforms
|
|
|
UpdateRoundedRectangle(roundedRectangle, shader);
|
|
|
|
|
|
+ const Color rectangleColor = BLUE;
|
|
|
+ const Color shadowColor = DARKBLUE;
|
|
|
+ const Color borderColor = SKYBLUE;
|
|
|
+
|
|
|
SetTargetFPS(60);
|
|
|
//--------------------------------------------------------------------------------------
|
|
|
|
|
|
@@ -124,8 +122,6 @@ int main(void)
|
|
|
DrawRectangle(0, 0, screenWidth, screenHeight, WHITE);
|
|
|
EndShaderMode();
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// Draw rectangle shadow using shader
|
|
|
rec = (Rectangle){ 50, 200, 110, 60 };
|
|
|
DrawRectangleLines((int)rec.x - 20, (int)rec.y - 20, (int)rec.width + 40, (int)rec.height + 40, DARKGRAY);
|
|
|
@@ -143,8 +139,6 @@ int main(void)
|
|
|
DrawRectangle(0, 0, screenWidth, screenHeight, WHITE);
|
|
|
EndShaderMode();
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// Draw rectangle's border using shader
|
|
|
rec = (Rectangle){ 50, 330, 110, 60 };
|
|
|
DrawRectangleLines((int)rec.x - 20, (int)rec.y - 20, (int)rec.width + 40, (int)rec.height + 40, DARKGRAY);
|
|
|
@@ -162,8 +156,6 @@ int main(void)
|
|
|
DrawRectangle(0, 0, screenWidth, screenHeight, WHITE);
|
|
|
EndShaderMode();
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// Draw one more rectangle with all three colors
|
|
|
rec = (Rectangle){ 240, 80, 500, 300 };
|
|
|
DrawRectangleLines((int)rec.x - 30, (int)rec.y - 30, (int)rec.width + 60, (int)rec.height + 60, DARKGRAY);
|