summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-04-18 13:46:50 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-04-18 13:46:50 -0500
commit711fcdc1fbcdcbe213bbf570fe133eb5ef63d96e (patch)
treece7d529fc8c0c16d54f3ec566d6c1a0afd93e38c
parent91cb787e5968449a0977ffa80a3daeb3ea5aff4a (diff)
ffmpeg-shadertoy: Embed GLSL shaders
-rw-r--r--ffmpeg-shadertoy/fs1.glsl9
-rw-r--r--ffmpeg-shadertoy/fs2.glsl11
-rw-r--r--ffmpeg-shadertoy/main.c52
-rw-r--r--ffmpeg-shadertoy/vs.glsl9
4 files changed, 33 insertions, 48 deletions
diff --git a/ffmpeg-shadertoy/fs1.glsl b/ffmpeg-shadertoy/fs1.glsl
deleted file mode 100644
index 837e270..0000000
--- a/ffmpeg-shadertoy/fs1.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 330 core
-
-// https://www.shadertoy.com/howto#q1
-
-uniform vec4 iMouse;
-uniform vec3 iResolution;
-uniform float iTime;
-
-// keep the line break below
diff --git a/ffmpeg-shadertoy/fs2.glsl b/ffmpeg-shadertoy/fs2.glsl
deleted file mode 100644
index ebdc9ec..0000000
--- a/ffmpeg-shadertoy/fs2.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// keep the line break above
-
-out vec4 f_color;
-
-void main()
-{
- vec4 color;
- mainImage(color, gl_FragCoord.xy);
- f_color = color;
-}
diff --git a/ffmpeg-shadertoy/main.c b/ffmpeg-shadertoy/main.c
index a7c450b..30d06ce 100644
--- a/ffmpeg-shadertoy/main.c
+++ b/ffmpeg-shadertoy/main.c
@@ -278,11 +278,38 @@ int main(int argc, char* argv[])
GL(glEnableVertexAttribArray(0));
GL(glEnableVertexAttribArray(1));
- const char* vs_src = SDL_LoadFile("vs.glsl", NULL);
- if (!vs_src) {
- fprintf(stderr, "Failed to load vertex shader: %s\n", SDL_GetError());
- return EXIT_FAILURE;
- }
+#define GLSL(_X) "#version 330 core\n" #_X
+ const char* vs_src = GLSL(
+ layout (location = 0) in vec3 p;
+ layout (location = 1) in vec2 t;
+
+ void main()
+ {
+ gl_Position = vec4(p, 1.0f);
+ }
+ );
+ const char* fs_src1 = GLSL(
+ // https://www.shadertoy.com/howto#q1
+
+ uniform vec4 iMouse;
+ uniform vec3 iResolution;
+ uniform float iTime;
+
+ out vec4 f_color;
+
+ void mainImage(out vec4, vec2);
+
+ void main()
+ {
+ vec4 color;
+ mainImage(color, gl_FragCoord.xy);
+ f_color = color;
+ }
+
+ // keep the line break below
+
+ );
+#undef GLSL
GLuint vs = GL(glCreateShader(GL_VERTEX_SHADER));
GL(glShaderSource(vs, 1, &vs_src, NULL));
@@ -296,32 +323,19 @@ int main(int argc, char* argv[])
return EXIT_FAILURE;
}
- const char* fs_src1 = SDL_LoadFile("fs1.glsl", NULL);
- if (!fs_src1) {
- fprintf(stderr, "Failed to load fragment shader: %s\n", SDL_GetError());
- return EXIT_FAILURE;
- }
-
const char* fs_src2 = SDL_LoadFile(a_src, NULL);
if (!fs_src2) {
fprintf(stderr, "Failed to load source shader: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
- const char* fs_src3 = SDL_LoadFile("fs2.glsl", NULL);
- if (!fs_src3) {
- fprintf(stderr, "Failed to load fragment shader: %s\n", SDL_GetError());
- return EXIT_FAILURE;
- }
-
const char* fs_src[] = {
fs_src1,
fs_src2,
- fs_src3,
};
GLuint fs = GL(glCreateShader(GL_FRAGMENT_SHADER));
- GL(glShaderSource(fs, 3, fs_src, NULL));
+ GL(glShaderSource(fs, 2, fs_src, NULL));
GL(glCompileShader(fs));
GLint fs_status = 0;
GL(glGetShaderiv(fs, GL_COMPILE_STATUS, &fs_status));
diff --git a/ffmpeg-shadertoy/vs.glsl b/ffmpeg-shadertoy/vs.glsl
deleted file mode 100644
index 57bcc37..0000000
--- a/ffmpeg-shadertoy/vs.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 330 core
-
-layout (location = 0) in vec3 p;
-layout (location = 1) in vec2 t;
-
-void main()
-{
- gl_Position = vec4(p, 1.0f);
-}