diff options
Diffstat (limited to 'frontend/_wasm/Shader.cpp')
-rw-r--r-- | frontend/_wasm/Shader.cpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/frontend/_wasm/Shader.cpp b/frontend/_wasm/Shader.cpp deleted file mode 100644 index 5f2b00e..0000000 --- a/frontend/_wasm/Shader.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "Shader.h" -#include <string> - -GLuint loadIndividualShader(GLenum shaderType, const GLchar* cCode) { - GLuint shader = glCreateShader(shaderType); - glShaderSource(shader, 1, &cCode, 0); - glCompileShader(shader); - GLint success; - glGetShaderiv(shader, GL_COMPILE_STATUS, &success); - if (!success) { - GLchar infoLog[512]; - glGetShaderInfoLog(shader, 512, 0, infoLog); - printf("Failed to load shader: %s, Shader =%s\n", infoLog, cCode); - return 0; - } - - return shader; -} - -void attachShaders(Shader& retVal, const GLchar* vertexShader, const GLchar* fragmentShader) { - GLuint vertex = 0, fragment = 0, geometry = 0; - if (vertexShader) { - vertex = loadIndividualShader(GL_VERTEX_SHADER, vertexShader); - glAttachShader(retVal, vertex); - } - - if (fragmentShader) { - fragment = loadIndividualShader(GL_FRAGMENT_SHADER, fragmentShader); - glAttachShader(retVal, fragment); - } - - glLinkProgram(retVal); - GLint isLinked = 0; - glGetProgramiv(retVal, GL_LINK_STATUS, (int*)&isLinked); - if (isLinked == GL_FALSE) { - GLint maxLength = 0; - glGetProgramiv(retVal, GL_INFO_LOG_LENGTH, &maxLength); - - // The maxLength includes the NULL character - GLchar* infoLog = new GLchar[maxLength]; - glGetProgramInfoLog(retVal, maxLength, &maxLength, infoLog); - glDeleteProgram(retVal); - printf("Error. Could not initialize shader with vertex=%s, error=%s\n", vertexShader, infoLog); - delete []infoLog; - } - - if (vertexShader) - glDeleteShader(vertex); - if (fragmentShader) - glDeleteShader(fragment); -} - -Shader loadShader(const GLchar* vertexShader, const GLchar* fragmentShader) { - Shader retVal; - retVal = glCreateProgram(); - - attachShaders(retVal, vertexShader, fragmentShader); - useShader(retVal); - - return retVal; -} |