summaryrefslogtreecommitdiff
path: root/themes/Shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'themes/Shader.cpp')
-rw-r--r--themes/Shader.cpp61
1 files changed, 0 insertions, 61 deletions
diff --git a/themes/Shader.cpp b/themes/Shader.cpp
deleted file mode 100644
index 5f2b00e..0000000
--- a/themes/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;
-}