From 7d2318c1677fd6e81b8cc63b040289148ca8adfc Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 13 Apr 2015 20:15:28 +0200 Subject: WIP on shaders and textures Moved functions: LoadShader(), UnloadShader() Add support for PVR textures compressed/uncompressed WIP: Detect available extensions for compressed textures --- src/models.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/models.c') 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) { -- cgit v1.2.3