wip framebuffers

This commit is contained in:
2025-09-14 15:47:01 +02:00
parent 3320e83efb
commit 85e061398e
4 changed files with 19 additions and 4 deletions
+11 -1
View File
@@ -4,7 +4,7 @@
#define CONSTANTS_H
static char *vertex_shader_text =
"#version 330\n"
"#version 460\n"
"uniform mat4 mvp;\n"
"in vec2 vPos;\n"
"out vec2 vUV;\n"
@@ -14,6 +14,16 @@ static char *vertex_shader_text =
" vUV = vPos;\n"
"}\n";
static char *output_fragment_shader_text =
"#version 460\n"
"in vec2 vUV;\n"
"out vec4 fragColor;\n"
"uniform sampler2D frame0\n"
"void main()\n"
"{\n"
" fragColor = vec4(texture(frame0, vUV).xyz, 1.0);\n"
"}\n";
static const Vertex vertices[6] = {{{0.0f, 0.0f}}, {{0.0f, 1.0f}},
{{1.0f, 1.0f}}, {{0.0f, 0.0f}},
{{1.0f, 1.0f}}, {{1.0f, 0.0f}}};
+6
View File
@@ -103,6 +103,11 @@ ShaderProgram init_program(File fragment_shader, Context context) {
program.error |= !compile_shader(
program.fragment_shader, fragment_shader.path, fragment_shader.content);
program.output_fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);
program.error |=
!compile_shader(program.output_fragment_shader,
"internal fragment shader", output_fragment_shader_text);
if (program.error) {
return program;
}
@@ -111,6 +116,7 @@ ShaderProgram init_program(File fragment_shader, Context context) {
program.program = glCreateProgram();
glAttachShader(program.program, program.vertex_shader);
glAttachShader(program.program, program.fragment_shader);
glAttachShader(program.program, program.output_fragment_shader);
glLinkProgram(program.program);
// create uniforms pointers
+1
View File
@@ -34,6 +34,7 @@ typedef struct ShaderProgram {
GLuint vertex_shader;
GLuint fragment_shader;
GLuint output_fragment_shader;
GLuint mvp_location;
GLuint itime_location;