diff options
Diffstat (limited to 'src/models.c')
| -rw-r--r-- | src/models.c | 21 |
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) { |
