aboutsummaryrefslogtreecommitdiff
path: root/src/rlgl.c
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2016-05-02 00:16:32 +0200
committerRay <raysan5@gmail.com>2016-05-02 00:16:32 +0200
commit0e6d1cb272435c670a991169f413c98516dce15d (patch)
tree554763c047ed63cf3b20ce8e4096816c96413639 /src/rlgl.c
parentcc39b4660a6a4e0c9a9939c2d9a445bcf102fe66 (diff)
downloadraylib-0e6d1cb272435c670a991169f413c98516dce15d.tar.gz
raylib-0e6d1cb272435c670a991169f413c98516dce15d.zip
Working on materials system...
Diffstat (limited to 'src/rlgl.c')
-rw-r--r--src/rlgl.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/rlgl.c b/src/rlgl.c
index 5b181a86..b1b020ec 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -1350,14 +1350,14 @@ void rlglDrawModel(Model model, Vector3 position, Vector3 rotationAxis, float ro
glBindTexture(GL_TEXTURE_2D, model.material.texDiffuse.id);
glUniform1i(model.material.shader.mapDiffuseLoc, 0); // Texture fits in active texture unit 0
- if (model.material.texNormal.id != 0)
+ if ((model.material.texNormal.id != 0) && (model.material.shader.mapNormalLoc != -1))
{
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, model.material.texNormal.id);
glUniform1i(model.material.shader.mapNormalLoc, 1); // Texture fits in active texture unit 1
}
- if (model.material.texSpecular.id != 0)
+ if ((model.material.texSpecular.id != 0) && (model.material.shader.mapSpecularLoc != -1))
{
glActiveTexture(GL_TEXTURE2);
glBindTexture(GL_TEXTURE_2D, model.material.texSpecular.id);
@@ -2125,17 +2125,13 @@ Shader LoadShader(char *vsFileName, char *fsFileName)
// After shader loading, we try to load default location names
if (shader.id != 0) LoadDefaultShaderLocations(&shader);
- else
- {
- TraceLog(WARNING, "Custom shader could not be loaded");
- shader = defaultShader;
- }
// Shader strings must be freed
free(vShaderStr);
free(fShaderStr);
}
- else
+
+ if (shader.id == 0)
{
TraceLog(WARNING, "Custom shader could not be loaded");
shader = defaultShader;
@@ -2494,7 +2490,7 @@ static Shader LoadDefaultShader(void)
if (shader.id != 0) TraceLog(INFO, "[SHDR ID %i] Default shader loaded successfully", shader.id);
else TraceLog(WARNING, "[SHDR ID %i] Default shader could not be loaded", shader.id);
- LoadDefaultShaderLocations(&shader);
+ if (shader.id != 0) LoadDefaultShaderLocations(&shader);
return shader;
}