aboutsummaryrefslogtreecommitdiff
path: root/src/models.c
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2015-04-13 20:15:28 +0200
committerraysan5 <raysan5@gmail.com>2015-04-13 20:15:28 +0200
commit7d2318c1677fd6e81b8cc63b040289148ca8adfc (patch)
treea8782a2ecfa48440e8bad02ed3be112dbacac441 /src/models.c
parenta632a04a300a60232f6b9a941e73af08d74c6e6a (diff)
downloadraylib-7d2318c1677fd6e81b8cc63b040289148ca8adfc.tar.gz
raylib-7d2318c1677fd6e81b8cc63b040289148ca8adfc.zip
WIP on shaders and textures
Moved functions: LoadShader(), UnloadShader() Add support for PVR textures compressed/uncompressed WIP: Detect available extensions for compressed textures
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)
{