diff options
| author | raysan5 <raysan5@gmail.com> | 2015-04-13 20:15:28 +0200 |
|---|---|---|
| committer | raysan5 <raysan5@gmail.com> | 2015-04-13 20:15:28 +0200 |
| commit | 7d2318c1677fd6e81b8cc63b040289148ca8adfc (patch) | |
| tree | a8782a2ecfa48440e8bad02ed3be112dbacac441 /src/models.c | |
| parent | a632a04a300a60232f6b9a941e73af08d74c6e6a (diff) | |
| download | raylib-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.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) { |
