diff --git a/default/forge_project.cfg b/default/forge_project.cfg index 1836c2a..9151247 100644 --- a/default/forge_project.cfg +++ b/default/forge_project.cfg @@ -115,13 +115,13 @@ FRAG_FILE_PREFIX=frag FRAG_COUNT=10 # To which texture will the shader fragX.glsl will render to -FRAG_1_OUT=5 -FRAG_2_OUT=6 -FRAG_3_OUT=7 -FRAG_4_OUT=8 -FRAG_5_OUT=9 -FRAG_6_OUT=10 -FRAG_7_OUT=11 +FRAG_1_OUT=3 +FRAG_2_OUT=4 +FRAG_3_OUT=5 +FRAG_4_OUT=6 +FRAG_5_OUT=7 +FRAG_6_OUT=8 +FRAG_7_OUT=9 FRAG_8_OUT=0 # Which fragment shader renders to output window FRAG_OUTPUT=9 diff --git a/default/frag1.glsl b/default/frag1.glsl index 65fd73c..a60a7a8 100644 --- a/default/frag1.glsl +++ b/default/frag1.glsl @@ -2,8 +2,8 @@ // VIDEO 1 // ----------- -// IN: 1+3 (RAW IN A) -// OUT: 5 (IN A) +// IN: 1 (RAW IN A) +// OUT: 3 (IN A) in vec2 vUV; out vec4 fragColor; @@ -14,16 +14,11 @@ uniform sampler2D iTex0; uniform sampler2D iTex1; uniform sampler2D iTex3; uniform int iInputFormat1; -uniform int iInputSwap1; uniform vec2 iInputResolution1; void main() { if (iInputFormat1 == YUYV_FOURCC) { - if (iInputSwap1 > 0) { - fragColor = yuyvTex(iTex3, vUV, int(iInputResolution1.x)); - } else { - fragColor = yuyvTex(iTex1, vUV, int(iInputResolution1.x)); - } + fragColor = yuyvTex(iTex1, vUV, int(iInputResolution1.x)); } else { fragColor = texture(iTex0, vUV); } diff --git a/default/frag10.glsl b/default/frag10.glsl index d60fc5f..fb3273d 100644 --- a/default/frag10.glsl +++ b/default/frag10.glsl @@ -9,13 +9,13 @@ out vec4 fragColor; #include inc_debug.glsl uniform sampler2D iTex0; +uniform sampler2D iTex3; +uniform sampler2D iTex4; uniform sampler2D iTex5; uniform sampler2D iTex6; uniform sampler2D iTex7; uniform sampler2D iTex8; uniform sampler2D iTex9; -uniform sampler2D iTex10; -uniform sampler2D iTex11; uniform int iFPS; uniform int iInputFPS1; uniform int iInputFPS2; @@ -26,19 +26,91 @@ float s(vec2 uv, float x0, float y0) { } const int texts[12][5] = { - {0x49, 0x4E, 0x20, 0x41, 0x00}, // IN A - {0x49, 0x4E, 0x20, 0x42, 0x00}, // IN B - {0x53, 0x52, 0x43, 0x20, 0x41}, // SRC A - {0x53, 0x52, 0x43, 0x20, 0x42}, // SRC B - {0x46, 0x58, 0x20, 0x41, 0x00}, // FX A - {0x46, 0x58, 0x20, 0x42, 0x00}, // FX B - {0x41, 0x2B, 0x42, 0x00, 0x00}, // A+B - {0x4D, 0x46, 0x58, 0x00, 0x00}, // MFX - {0x46, 0x50, 0x53, 0x00, 0x00}, // FPS - {0x4F, 0x46, 0x46, 0x00, 0x00}, // OFF - {0x44, 0x45, 0x4D, 0x4F, 0x00}, // DEMO - {0x4C, 0x49, 0x56, 0x45, 0x00}, // LIVE -}; + { + 0x49, + 0x4E, + 0x20, + 0x41, + 0x00 + }, // IN A + { + 0x49, + 0x4E, + 0x20, + 0x42, + 0x00 + }, // IN B + { + 0x53, + 0x52, + 0x43, + 0x20, + 0x41 + }, // SRC A + { + 0x53, + 0x52, + 0x43, + 0x20, + 0x42 + }, // SRC B + { + 0x46, + 0x58, + 0x20, + 0x41, + 0x00 + }, // FX A + { + 0x46, + 0x58, + 0x20, + 0x42, + 0x00 + }, // FX B + { + 0x41, + 0x2B, + 0x42, + 0x00, + 0x00 + }, // A+B + { + 0x4D, + 0x46, + 0x58, + 0x00, + 0x00 + }, // MFX + { + 0x46, + 0x50, + 0x53, + 0x00, + 0x00 + }, // FPS + { + 0x4F, + 0x46, + 0x46, + 0x00, + 0x00 + }, // OFF + { + 0x44, + 0x45, + 0x4D, + 0x4F, + 0x00 + }, // DEMO + { + 0x4C, + 0x49, + 0x56, + 0x45, + 0x00 + }, // LIVE + }; void main() { vec2 uv0 = vUV.st; @@ -50,14 +122,14 @@ void main() { vec4 c = vec4(0); - c += s(uv2, 1, 2) * texture(iTex7, uv2); - c += s(uv2, 2, 2) * texture(iTex9, uv2); + c += s(uv2, 1, 2) * texture(iTex5, uv2); + c += s(uv2, 2, 2) * texture(iTex7, uv2); - c += s(uv2, 1, 0) * texture(iTex8, uv2); - c += s(uv2, 2, 0) * texture(iTex10, uv2); + c += s(uv2, 1, 0) * texture(iTex6, uv2); + c += s(uv2, 2, 0) * texture(iTex8, uv2); c += s(uv2, 0, 1) * debug(mod(uv2, 1)); - c += s(uv2, 1, 1) * texture(iTex11, uv2); + c += s(uv2, 1, 1) * texture(iTex9, uv2); c += s(uv2, 2, 1) * texture(iTex0, uv2); float sel = 0; @@ -77,7 +149,7 @@ void main() { t += write_5(uv3, vec2(-37, 28), texts[0]); if (iInputFormat1 == YUYV_FOURCC) { - c += s(uv2, 0, 2) * texture(iTex5, uv2); + c += s(uv2, 0, 2) * texture(iTex3, uv2); f += rect(uv3, vec2(-35, 26.75), vec2(2.8, 0.7)); t += write_int(uv3, vec2(-37.6, 26.1), iInputFPS1, 2); t += write_5(uv3, vec2(-35.1, 26.1), texts[8]); @@ -90,7 +162,7 @@ void main() { t += write_5(uv3, vec2(-37, -12), texts[1]); if (iInputFormat2 == YUYV_FOURCC) { - c += s(uv2, 0, 0) * texture(iTex6, uv2); + c += s(uv2, 0, 0) * texture(iTex4, uv2); f += rect(uv3, vec2(-35, -13.25), vec2(2.8, 0.7)); t += write_int(uv3, vec2(-37.6, -13.9), iInputFPS2, 2); t += write_5(uv3, vec2(-35.1, -13.9), texts[8]); diff --git a/default/frag2.glsl b/default/frag2.glsl index d0843c5..4c45e30 100644 --- a/default/frag2.glsl +++ b/default/frag2.glsl @@ -2,8 +2,8 @@ // VIDEO 2 // ----------- -// IN: 2+4 (RAW IN B) -// OUT: 6 (IN B) +// IN: 2 (RAW IN B) +// OUT: 4 (IN B) in vec2 vUV; out vec4 fragColor; @@ -14,16 +14,11 @@ uniform sampler2D iTex0; uniform sampler2D iTex2; uniform sampler2D iTex4; uniform int iInputFormat2; -uniform int iInputSwap2; uniform vec2 iInputResolution2; void main() { if (iInputFormat2 == YUYV_FOURCC) { - if (iInputSwap2 > 0) { - fragColor = yuyvTex(iTex4, vUV, int(iInputResolution2.x)); - } else { - fragColor = yuyvTex(iTex2, vUV, int(iInputResolution2.x)); - } + fragColor = yuyvTex(iTex2, vUV, int(iInputResolution2.x)); } else { fragColor = texture(iTex0, vUV); } diff --git a/default/frag3.glsl b/default/frag3.glsl index 9c93ce0..5e538f1 100644 --- a/default/frag3.glsl +++ b/default/frag3.glsl @@ -3,7 +3,7 @@ // SRC A // ----------- -// OUT: 7 (FX A) +// OUT: 5 (FX A) in vec2 vUV; out vec4 fragColor; diff --git a/default/frag4.glsl b/default/frag4.glsl index 732b29f..ac7860f 100644 --- a/default/frag4.glsl +++ b/default/frag4.glsl @@ -2,7 +2,7 @@ // SRC B // ----------- -// OUT: 8 (FX B) +// OUT: 6 (FX B) in vec2 vUV; out vec4 fragColor; diff --git a/default/frag5.glsl b/default/frag5.glsl index e6951b7..006cff8 100644 --- a/default/frag5.glsl +++ b/default/frag5.glsl @@ -2,20 +2,20 @@ // FX A // ------------- -// IN: 7 (SRC A) -// IN: 9 (FX A) -// OUT: 9 (A+B) +// IN: 5 (SRC A) +// IN: 7 (FX A) +// OUT: 7 (A+B) in vec2 vUV; out vec4 fragColor; #include inc_fx.glsl +uniform sampler2D iTex5; uniform sampler2D iTex7; -uniform sampler2D iTex9; uniform int iSeed5; uniform vec3 iGroup2_1[7]; void main() { - fragColor = fx_stage(vUV, iTex7, iTex9, iSeed5, iGroup2_1[0], iGroup2_1[1].xy, iGroup2_1[2], iGroup2_1[3].xy, iGroup2_1[4], iGroup2_1[5].xy, iGroup2_1[6]); + fragColor = fx_stage(vUV, iTex5, iTex7, iSeed5, iGroup2_1[0], iGroup2_1[1].xy, iGroup2_1[2], iGroup2_1[3].xy, iGroup2_1[4], iGroup2_1[5].xy, iGroup2_1[6]); } diff --git a/default/frag6.glsl b/default/frag6.glsl index 409c220..02da1ca 100644 --- a/default/frag6.glsl +++ b/default/frag6.glsl @@ -2,20 +2,20 @@ // FX B // ------------- -// IN: 8 (SRC B) -// IN: 10 (FX B) -// OUT: 10 (A+B) +// IN: 6 (SRC B) +// IN: 8 (FX B) +// OUT: 8 (A+B) in vec2 vUV; out vec4 fragColor; #include inc_fx.glsl +uniform sampler2D iTex6; uniform sampler2D iTex8; -uniform sampler2D iTex10; uniform int iSeed6; uniform vec3 iGroup2_2[7]; void main() { - fragColor = fx_stage(vUV, iTex8, iTex10, iSeed6, iGroup2_2[0], iGroup2_2[1].xy, iGroup2_2[2], iGroup2_2[3].xy, iGroup2_2[4], iGroup2_2[5].xy, iGroup2_2[6]); + fragColor = fx_stage(vUV, iTex6, iTex8, iSeed6, iGroup2_2[0], iGroup2_2[1].xy, iGroup2_2[2], iGroup2_2[3].xy, iGroup2_2[4], iGroup2_2[5].xy, iGroup2_2[6]); } diff --git a/default/frag7.glsl b/default/frag7.glsl index c662b18..eeba13b 100644 --- a/default/frag7.glsl +++ b/default/frag7.glsl @@ -2,9 +2,9 @@ // A+B // ------------ -// IN: 9 (FX A) -// IN: 10 (FX B) -// OUT: 11 (MFX) +// IN: 7 (FX A) +// IN: 8 (FX B) +// OUT: 9 (MFX) in vec2 vUV; out vec4 fragColor; @@ -13,8 +13,8 @@ out vec4 fragColor; #include inc_functions.glsl uniform int iDemo; -uniform sampler2D iTex9; -uniform sampler2D iTex10; +uniform sampler2D iTex7; +uniform sampler2D iTex8; uniform int iSeed7; uniform vec3 iGroup3_1[2]; @@ -22,8 +22,8 @@ void main() { float mix_value = magic(iGroup3_1[1].xy, vec3(1, 0, 0), iSeed7); bool mix_type = magic_trigger(vec3(iGroup3_1[0].x, 0, 0), iSeed7 + 10); - vec4 color_a = texture(iTex9, vUV); - vec4 color_b = texture(iTex10, vUV); + vec4 color_a = texture(iTex7, vUV); + vec4 color_b = texture(iTex8, vUV); float k = mean(color_a); diff --git a/default/frag8.glsl b/default/frag8.glsl index f87a60e..b83b50e 100644 --- a/default/frag8.glsl +++ b/default/frag8.glsl @@ -2,7 +2,7 @@ // MFX // ------------ -// IN: 11 (A+B) +// IN: 9 (A+B) // IN: 0 (OUT) // OUT: 0 (OUT) @@ -11,7 +11,7 @@ out vec4 fragColor; #include inc_fx.glsl -uniform sampler2D iTex11; +uniform sampler2D iTex9; uniform sampler2D iTex0; uniform int iSeed8; uniform vec3 iGroup2_3[7]; @@ -20,7 +20,7 @@ uniform int iDemo; uniform int iAutoRand; void main() { - vec4 color = fx_stage(vUV, iTex11, iTex0, iSeed8, iGroup2_3[0], iGroup2_3[1].xy, iGroup2_3[2], iGroup2_3[3].xy, iGroup2_3[4], iGroup2_3[5].xy, iGroup2_3[6]); + vec4 color = fx_stage(vUV, iTex9, iTex0, iSeed8, iGroup2_3[0], iGroup2_3[1].xy, iGroup2_3[2], iGroup2_3[3].xy, iGroup2_3[4], iGroup2_3[5].xy, iGroup2_3[6]); if (iDemo < 1 && iAutoRand < 1) { color = mix(color, vec4(0), iGroup3_1[0].y);