Browse Source

rlLoadShaderCode - set ShaderId variables to RLGL.State.default[VF]ShaderId if repesctive Code is NULL (#2281)

Matthew Owens 3 years ago
parent
commit
e621efe79f
1 changed files with 10 additions and 2 deletions
  1. 10 2
      src/rlgl.h

+ 10 - 2
src/rlgl.h

@@ -3544,8 +3544,16 @@ unsigned int rlLoadShaderCode(const char *vsCode, const char *fsCode)
     unsigned int vertexShaderId = 0;
     unsigned int fragmentShaderId = 0;
 
-    if (vsCode != NULL) vertexShaderId = rlCompileShader(vsCode, GL_VERTEX_SHADER);
-    if (fsCode != NULL) fragmentShaderId = rlCompileShader(fsCode, GL_FRAGMENT_SHADER);
+    if (vsCode != NULL) {
+        vertexShaderId = rlCompileShader(vsCode, GL_VERTEX_SHADER);
+    } else {
+        vertexShaderId = RLGL.State.defaultVShaderId;
+    }
+    if (fsCode != NULL) {
+        fragmentShaderId = rlCompileShader(fsCode, GL_FRAGMENT_SHADER);
+    } else {
+        fragmentShaderId = RLGL.State.defaultFShaderId;
+    }
 
     // Load shader program if provided vertex/fragment shaders compile successfully
     if ((vertexShaderId != 0) && (fragmentShaderId != 0)) id = rlLoadShaderProgram(vertexShaderId, fragmentShaderId);