diff --git a/Spraky-core/x64/src/graphics/shader.cpp b/Spraky-core/x64/src/graphics/shader.cpp index 230f9ed..7b6ee3a 100644 --- a/Spraky-core/x64/src/graphics/shader.cpp +++ b/Spraky-core/x64/src/graphics/shader.cpp @@ -19,60 +19,63 @@ namespace sparky { glDeleteProgram(m_ShaderID); } - GLuint Shader::load() - { - GLuint program = glCreateProgram(); - GLuint vertex = glCreateShader(GL_VERTEX_SHADER); - GLuint fragment = glCreateShader(GL_FRAGMENT_SHADER); - - const char* vertSource = read_file(m_VertPath).c_str(); - const char* fragSource = read_file(m_FragPath).c_str(); - - // Vertex Shader - glShaderSource(vertex, 1, &vertSource, NULL); - glCompileShader(vertex); - - GLint result; - glGetShaderiv(vertex, GL_COMPILE_STATUS, &result); - if (result == GL_FALSE) - { - GLint length; - glGetShaderiv(vertex, GL_INFO_LOG_LENGTH, &length); - std::vector error(length); - glGetShaderInfoLog(vertex, length, &length, &error[0]); - std::cout << "Failed to compile vertex shader!" << std::endl << &error[0] << std::endl; - glDeleteShader(vertex); - return 0; - } - - // Fragment Shader - glShaderSource(fragment, 1, &fragSource, NULL); - glCompileShader(fragment); - - glGetShaderiv(fragment, GL_COMPILE_STATUS, &result); - if (result == GL_FALSE) - { - GLint length; - glGetShaderiv(fragment, GL_INFO_LOG_LENGTH, &length); - std::vector error(length); - glGetShaderInfoLog(fragment, length, &length, &error[0]); - std::cout << "Failed to compile fragment shader!" << std::endl << &error[0] << std::endl; - glDeleteShader(fragment); - return 0; - } - - // Attach shaders to program - glAttachShader(program, vertex); - glAttachShader(program, fragment); - - glLinkProgram(program); - glValidateProgram(program); - - glDeleteShader(vertex); - glDeleteShader(fragment); - - return program; - } + GLuint Shader::load() + { + GLuint program = glCreateProgram(); + GLuint vertex = glCreateShader(GL_VERTEX_SHADER); + GLuint fragment = glCreateShader(GL_FRAGMENT_SHADER); + + std::string vertSourceStr = read_file(m_VertPath); + const char* vertSource = vertSourceStr.c_str(); + + std::string fragSourceStr = read_file(m_FragPath); + const char* fragSource = fragSourceStr.c_str(); + + // Vertex Shader + glShaderSource(vertex, 1, &vertSource, NULL); + glCompileShader(vertex); + + GLint result; + glGetShaderiv(vertex, GL_COMPILE_STATUS, &result); + if (result == GL_FALSE) + { + GLint length; + glGetShaderiv(vertex, GL_INFO_LOG_LENGTH, &length); + std::vector error(length); + glGetShaderInfoLog(vertex, length, &length, &error[0]); + std::cout << "Failed to compile vertex shader!" << std::endl << &error[0] << std::endl; + glDeleteShader(vertex); + return 0; + } + + // Fragment Shader + glShaderSource(fragment, 1, &fragSource, NULL); + glCompileShader(fragment); + + glGetShaderiv(fragment, GL_COMPILE_STATUS, &result); + if (result == GL_FALSE) + { + GLint length; + glGetShaderiv(fragment, GL_INFO_LOG_LENGTH, &length); + std::vector error(length); + glGetShaderInfoLog(fragment, length, &length, &error[0]); + std::cout << "Failed to compile fragment shader!" << std::endl << &error[0] << std::endl; + glDeleteShader(fragment); + return 0; + } + + // Attach shaders to program + glAttachShader(program, vertex); + glAttachShader(program, fragment); + + glLinkProgram(program); + glValidateProgram(program); + + glDeleteShader(vertex); + glDeleteShader(fragment); + + return program; + } void Shader::enable() const { diff --git a/Spraky-core/x64/src/shaders/basic.frag b/Spraky-core/x64/src/shaders/basic.frag index 0cf30c2..4b52dc0 100644 --- a/Spraky-core/x64/src/shaders/basic.frag +++ b/Spraky-core/x64/src/shaders/basic.frag @@ -1,8 +1,11 @@ #version 330 core -layout (location = 0) in vec4 color; +in vec4 position; // Remove location qualifier + +out vec4 color; void main() { - color = vec4(1.0f, 0.0f, 1.0f, 1.0f); -} \ No newline at end of file + color = vec4(1.0, 0.0, 0.0, 1.0); // Set the fragment color to red +} + diff --git a/Spraky-core/x64/src/shaders/basic.vert b/Spraky-core/x64/src/shaders/basic.vert index ee57cce..78e3368 100644 --- a/Spraky-core/x64/src/shaders/basic.vert +++ b/Spraky-core/x64/src/shaders/basic.vert @@ -5,8 +5,7 @@ uniform mat4 pr_matrix; uniform mat4 vw_matrix = mat4(1.0); uniform mat4 ml_matrix = mat4(1.0); - void main() { - gl_Position = positon; -} \ No newline at end of file + gl_Position = position; +}