aboutsummaryrefslogtreecommitdiff
path: root/src/models.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/models.c')
-rw-r--r--src/models.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/models.c b/src/models.c
index f4f83fd8..ffb077d4 100644
--- a/src/models.c
+++ b/src/models.c
@@ -1101,12 +1101,33 @@ void UnloadModel(Model model)
rlDeleteShader(model.shader.id);
}
+// Link a texture to a model
void SetModelTexture(Model *model, Texture2D texture)
{
if (texture.id <= 0) model->texture.id = whiteTexture; // Default white texture (use mesh color)
else model->texture = texture;
}
+// Load a custom shader (vertex shader + fragment shader)
+Shader LoadShader(char *vsFileName, char *fsFileName)
+{
+ Shader shader = rlglLoadShader(vsFileName, fsFileName);
+
+ return shader;
+}
+
+// Unload a custom shader from memory
+void UnloadShader(Shader shader)
+{
+ rlDeleteShader(shader.id);
+}
+
+// Set shader for a model
+void SetModelShader(Model *model, Shader shader)
+{
+ rlglSetModelShader(model, shader);
+}
+
// Draw a model (with texture if set)
void DrawModel(Model model, Vector3 position, float scale, Color tint)
{