aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2016-05-31 17:11:02 +0200
committerraysan5 <raysan5@gmail.com>2016-05-31 17:11:02 +0200
commitcac2a66debd0f2d3ef8195940f8e2744d539d19a (patch)
tree423a8c52e5eda51008580f9c919a78034766204c
parentcaa7bc366b949310fbb9c7eafbb9fa7050e1514a (diff)
downloadraylib-cac2a66debd0f2d3ef8195940f8e2744d539d19a.tar.gz
raylib-cac2a66debd0f2d3ef8195940f8e2744d539d19a.zip
Improved library consistency
Functions renamed to improve library consistency
-rw-r--r--examples/shaders_custom_uniform.c12
-rw-r--r--examples/shaders_postprocessing.c12
-rw-r--r--examples/shaders_shapes_textures.c18
-rw-r--r--examples/textures_particles_trail_blending.c24
-rw-r--r--src/raylib.h8
-rw-r--r--src/rlgl.c18
-rw-r--r--src/rlgl.h9
7 files changed, 59 insertions, 42 deletions
diff --git a/examples/shaders_custom_uniform.c b/examples/shaders_custom_uniform.c
index 74077143..516d5087 100644
--- a/examples/shaders_custom_uniform.c
+++ b/examples/shaders_custom_uniform.c
@@ -33,7 +33,7 @@ int main()
Camera camera = {{ 3.0f, 3.0f, 3.0f }, { 0.0f, 1.5f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f };
Model dwarf = LoadModel("resources/model/dwarf.obj"); // Load OBJ model
- Texture2D texture = LoadTexture("resources/model/dwarf_diffuse.png"); // Load model texture
+ Texture2D texture = LoadTexture("resources/model/dwarf_diffuse.png"); // Load model texture (diffuse map)
SetModelTexture(&dwarf, texture); // Bind texture to model
Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position
@@ -94,10 +94,12 @@ int main()
EndTextureMode(); // End drawing to texture (now we have a texture available for next passes)
- SetCustomShader(shader);
- // NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
- DrawTextureRec(target.texture, (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, (Vector2){ 0, 0 }, WHITE);
- SetDefaultShader();
+ BeginShaderMode(shader);
+
+ // NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
+ DrawTextureRec(target.texture, (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, (Vector2){ 0, 0 }, WHITE);
+
+ EndShaderMode();
DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY);
diff --git a/examples/shaders_postprocessing.c b/examples/shaders_postprocessing.c
index e9fafe15..5e8b5a80 100644
--- a/examples/shaders_postprocessing.c
+++ b/examples/shaders_postprocessing.c
@@ -33,7 +33,7 @@ int main()
Camera camera = {{ 3.0f, 3.0f, 3.0f }, { 0.0f, 1.5f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f };
Model dwarf = LoadModel("resources/model/dwarf.obj"); // Load OBJ model
- Texture2D texture = LoadTexture("resources/model/dwarf_diffuse.png"); // Load model texture
+ Texture2D texture = LoadTexture("resources/model/dwarf_diffuse.png"); // Load model texture (diffuse map)
SetModelTexture(&dwarf, texture); // Bind texture to model
Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position
@@ -80,10 +80,12 @@ int main()
EndTextureMode(); // End drawing to texture (now we have a texture available for next passes)
- SetCustomShader(shader);
- // NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
- DrawTextureRec(target.texture, (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, (Vector2){ 0, 0 }, WHITE);
- SetDefaultShader();
+ BeginShaderMode(shader);
+
+ // NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
+ DrawTextureRec(target.texture, (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, (Vector2){ 0, 0 }, WHITE);
+
+ EndShaderMode();
DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, DARKGRAY);
diff --git a/examples/shaders_shapes_textures.c b/examples/shaders_shapes_textures.c
index 1b1142fa..0a14469f 100644
--- a/examples/shaders_shapes_textures.c
+++ b/examples/shaders_shapes_textures.c
@@ -65,16 +65,16 @@ int main()
// Activate our custom shader to be applied on next shapes/textures drawings
- SetCustomShader(shader);
+ BeginShaderMode(shader);
- DrawText("USING CUSTOM SHADER", 190, 40, 10, RED);
+ DrawText("USING CUSTOM SHADER", 190, 40, 10, RED);
- DrawRectangle(250 - 60, 90, 120, 60, RED);
- DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD);
- DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE);
+ DrawRectangle(250 - 60, 90, 120, 60, RED);
+ DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD);
+ DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE);
// Activate our default shader for next drawings
- SetDefaultShader();
+ EndShaderMode();
DrawText("USING DEFAULT SHADER", 370, 40, 10, RED);
@@ -89,12 +89,12 @@ int main()
DrawPoly((Vector2){430, 320}, 6, 80, 0, BROWN);
// Activate our custom shader to be applied on next shapes/textures drawings
- SetCustomShader(shader);
+ BeginShaderMode(shader);
- DrawTexture(sonic, 380, -10, WHITE); // Using custom shader
+ DrawTexture(sonic, 380, -10, WHITE); // Using custom shader
// Activate our default shader for next drawings
- SetDefaultShader();
+ EndShaderMode();
EndDrawing();
//----------------------------------------------------------------------------------
diff --git a/examples/textures_particles_trail_blending.c b/examples/textures_particles_trail_blending.c
index 76cd0423..0b47c790 100644
--- a/examples/textures_particles_trail_blending.c
+++ b/examples/textures_particles_trail_blending.c
@@ -102,20 +102,22 @@ int main()
ClearBackground(DARKGRAY);
- SetBlendMode(blending);
+ BeginBlendMode(blending);
- // Draw active particles
- for (int i = 0; i < MAX_PARTICLES; i++)
- {
- if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height },
- (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size },
- (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation,
- Fade(mouseTail[i].color, mouseTail[i].alpha));
- }
+ // Draw active particles
+ for (int i = 0; i < MAX_PARTICLES; i++)
+ {
+ if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height },
+ (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size },
+ (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation,
+ Fade(mouseTail[i].color, mouseTail[i].alpha));
+ }
+
+ EndBlendMode();
- DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, RAYWHITE);
+ DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK);
- if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, RAYWHITE);
+ if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK);
else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE);
EndDrawing();
diff --git a/src/raylib.h b/src/raylib.h
index cba73e52..5bef3698 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -860,8 +860,7 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p
//------------------------------------------------------------------------------------
Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations
void UnloadShader(Shader shader); // Unload a custom shader from memory
-void SetDefaultShader(void); // Set default shader to be used in batch draw
-void SetCustomShader(Shader shader); // Set custom shader to be used in batch draw
+
Shader GetDefaultShader(void); // Get default shader
Shader GetStandardShader(void); // Get default shader
Texture2D GetDefaultTexture(void); // Get default texture
@@ -871,7 +870,10 @@ void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // S
void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int)
void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4)
-void SetBlendMode(int mode); // Set blending mode (alpha, additive, multiplied)
+void BeginShaderMode(Shader shader); // Begin custom shader drawing
+void EndShaderMode(void); // End custom shader drawing (use default shader)
+void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied)
+void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool
void DestroyLight(Light light); // Destroy a light and take it out of the list
diff --git a/src/rlgl.c b/src/rlgl.c
index 97a92a4d..5c4c9c01 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -2157,7 +2157,7 @@ void UnloadShader(Shader shader)
}
// Set custom shader to be used on batch draw
-void SetCustomShader(Shader shader)
+void BeginShaderMode(Shader shader)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (currentShader.id != shader.id)
@@ -2169,10 +2169,10 @@ void SetCustomShader(Shader shader)
}
// Set default shader to be used in batch draw
-void SetDefaultShader(void)
+void EndShaderMode(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
- SetCustomShader(defaultShader);
+ BeginShaderMode(defaultShader);
#endif
}
@@ -2254,9 +2254,9 @@ void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat)
#endif
}
-// Set blending mode (alpha, additive, multiplied)
-// NOTE: Only 3 blending modes predefined
-void SetBlendMode(int mode)
+// Begin blending mode (alpha, additive, multiplied)
+// NOTE: Only 3 blending modes supported, default blend mode is alpha
+void BeginBlendMode(int mode)
{
if ((blendMode != mode) && (mode < 3))
{
@@ -2274,6 +2274,12 @@ void SetBlendMode(int mode)
}
}
+// End blending mode (reset to default: alpha blending)
+void EndBlendMode(void)
+{
+ BeginBlendMode(BLEND_ALPHA);
+}
+
// Create a new light, initialize it and add to pool
Light CreateLight(int type, Vector3 position, Color diffuse)
{
diff --git a/src/rlgl.h b/src/rlgl.h
index 23ad29fb..ccf2b36a 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -317,9 +317,9 @@ void *rlglReadTexturePixels(Texture2D texture); // Read text
//------------------------------------------------------------------------------------
Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations
void UnloadShader(Shader shader); // Unload a custom shader from memory
-void SetCustomShader(Shader shader); // Set custom shader to be used in batch draw
-void SetDefaultShader(void); // Set default shader to be used in batch draw
+
Shader GetDefaultShader(void); // Get default shader
+Shader GetStandardShader(void); // Get default shader
Texture2D GetDefaultTexture(void); // Get default texture
int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
@@ -327,7 +327,10 @@ void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // S
void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int)
void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4)
-void SetBlendMode(int mode); // Set blending mode (alpha, additive, multiplied)
+void BeginShaderMode(Shader shader); // Begin custom shader drawing
+void EndShaderMode(void); // End custom shader drawing (use default shader)
+void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied)
+void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool
void DestroyLight(Light light); // Destroy a light and take it out of the list