From 234fb5416e3008544c7a1755d9e26d1d3d5a0549 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Thu, 16 Oct 2025 01:55:38 -0400 Subject: texture don't worky --- shader.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 shader.c (limited to 'shader.c') diff --git a/shader.c b/shader.c new file mode 100644 index 0000000..8cc3926 --- /dev/null +++ b/shader.c @@ -0,0 +1,44 @@ +#include "shader.h" + +#include + +GLuint createShader(const char *vertexCode, const char *fragmentCode) { + GLuint vertex, fragment; + int success; + char infoLog[512]; + + vertex = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertex, 1, &vertexCode, NULL); + glCompileShader(vertex); + + glGetShaderiv(vertex, GL_COMPILE_STATUS, &success); + if (!success) { + glGetShaderInfoLog(vertex, 512, NULL, infoLog); + printf("ERROR: Failed to compile vertex shader: %s\n", infoLog); + } + + fragment = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragment, 1, &fragmentCode, NULL); + glCompileShader(fragment); + + glGetShaderiv(fragment, GL_COMPILE_STATUS, &success); + if (!success) { + glGetShaderInfoLog(fragment, 512, NULL, infoLog); + printf("ERROR: Failed to compile fragment shader: %s\n", infoLog); + } + + GLuint ShaderProgram = glCreateProgram(); + glAttachShader(ShaderProgram, vertex); + glAttachShader(ShaderProgram, fragment); + glLinkProgram(ShaderProgram); + + glGetProgramiv(ShaderProgram, GL_LINK_STATUS, &success); + if (!success) { + printf("Failed to link shaders\n"); + } + + glDeleteShader(vertex); + glDeleteShader(fragment); + + return ShaderProgram; +} -- cgit v1.2.3