OctaCore/config/glsl/movie.cfg

127 lines
4.0 KiB
INI

////////////////////////////////////////////////
//
// movie encoding
//
////////////////////////////////////////////////
lazyshader 0 "moviergb" [
in vec4 vvertex;
@(screentexcoord 0)
out vec2 texcoord0;
void main(void)
{
gl_Position = vvertex;
texcoord0 = vtexcoord0;
}
] [
uniform sampler2DRect tex0;
in vec2 texcoord0;
layout(location = 0) out vec4 fragcolor;
void main(void)
{
fragcolor = textureRect(tex0, texcoord0);
}
]
lazyshader 0 "movieyuv" [
in vec4 vvertex;
@(screentexcoord 0)
out vec2 texcoord0;
void main(void)
{
gl_Position = vvertex;
texcoord0 = vtexcoord0;
}
] [
uniform sampler2DRect tex0;
in vec2 texcoord0;
layout(location = 0) out vec4 fragcolor;
void main(void)
{
vec3 color = textureRect(tex0, texcoord0).rgb;
fragcolor = vec4(dot(color, vec3(0.439216, -0.367788, -0.071427)) + 0.501961,
dot(color, vec3(-0.148224, -0.290992, 0.439216)) + 0.501961,
dot(color, vec3(0.256788, 0.504125, 0.097905)) + 0.062745,
0.0);
}
]
lazyshader 0 "moviey" [
in vec4 vvertex;
@(screentexcoord 0)
out vec2 texcoord0;
void main(void)
{
gl_Position = vvertex;
texcoord0 = vtexcoord0 + vec2(0.5, 0.0);
}
] [
uniform sampler2DRect tex0;
in vec2 texcoord0;
layout(location = 0) out vec4 fragcolor;
void main(void)
{
vec3 color1 = textureRectOffset(tex0, texcoord0, ivec2( -2, 0)).rgb;
vec3 color2 = textureRectOffset(tex0, texcoord0, ivec2( -1, 0)).rgb;
vec3 color3 = textureRect(tex0, texcoord0).rgb;
vec3 color4 = textureRectOffset(tex0, texcoord0, ivec2( 1, 0)).rgb;
fragcolor = vec4(dot(color3, vec3(0.256788, 0.504125, 0.097905)) + 0.062745,
dot(color2, vec3(0.256788, 0.504125, 0.097905)) + 0.062745,
dot(color1, vec3(0.256788, 0.504125, 0.097905)) + 0.062745,
dot(color4, vec3(0.256788, 0.504125, 0.097905)) + 0.062745);
}
]
lazyshader 0 "movieu" [
in vec4 vvertex;
@(screentexcoord 0)
out vec2 texcoord0;
void main(void)
{
gl_Position = vvertex;
texcoord0 = vtexcoord0;
}
] [
uniform sampler2DRect tex0;
in vec2 texcoord0;
layout(location = 0) out vec4 fragcolor;
void main(void)
{
vec3 color1 = textureRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb;
vec3 color2 = textureRectOffset(tex0, texcoord0, ivec2(-1, 0)).rgb;
vec3 color3 = textureRectOffset(tex0, texcoord0, ivec2( 1, 0)).rgb;
vec3 color4 = textureRectOffset(tex0, texcoord0, ivec2( 3, 0)).rgb;
fragcolor = vec4(dot(color3, vec3(-0.148224, -0.290992, 0.43921)) + 0.501961,
dot(color2, vec3(-0.148224, -0.290992, 0.43921)) + 0.501961,
dot(color1, vec3(-0.148224, -0.290992, 0.43921)) + 0.501961,
dot(color4, vec3(-0.148224, -0.290992, 0.43921)) + 0.501961);
}
]
lazyshader 0 "moviev" [
in vec4 vvertex;
@(screentexcoord 0)
out vec2 texcoord0;
void main(void)
{
gl_Position = vvertex;
texcoord0 = vtexcoord0;
}
] [
uniform sampler2DRect tex0;
in vec2 texcoord0;
layout(location = 0) out vec4 fragcolor;
void main(void)
{
vec3 color1 = textureRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb;
vec3 color2 = textureRectOffset(tex0, texcoord0, ivec2(-1, 0)).rgb;
vec3 color3 = textureRectOffset(tex0, texcoord0, ivec2( 1, 0)).rgb;
vec3 color4 = textureRectOffset(tex0, texcoord0, ivec2( 3, 0)).rgb;
fragcolor = vec4(dot(color3, vec3(0.439216, -0.367788, -0.071427)) + 0.501961,
dot(color2, vec3(0.439216, -0.367788, -0.071427)) + 0.501961,
dot(color1, vec3(0.439216, -0.367788, -0.071427)) + 0.501961,
dot(color4, vec3(0.439216, -0.367788, -0.071427)) + 0.501961);
}
]