fix: update default project with internal buffer swap
This commit is contained in:
@@ -115,13 +115,13 @@ FRAG_FILE_PREFIX=frag
|
|||||||
FRAG_COUNT=10
|
FRAG_COUNT=10
|
||||||
|
|
||||||
# To which texture will the shader fragX.glsl will render to
|
# To which texture will the shader fragX.glsl will render to
|
||||||
FRAG_1_OUT=5
|
FRAG_1_OUT=3
|
||||||
FRAG_2_OUT=6
|
FRAG_2_OUT=4
|
||||||
FRAG_3_OUT=7
|
FRAG_3_OUT=5
|
||||||
FRAG_4_OUT=8
|
FRAG_4_OUT=6
|
||||||
FRAG_5_OUT=9
|
FRAG_5_OUT=7
|
||||||
FRAG_6_OUT=10
|
FRAG_6_OUT=8
|
||||||
FRAG_7_OUT=11
|
FRAG_7_OUT=9
|
||||||
FRAG_8_OUT=0
|
FRAG_8_OUT=0
|
||||||
# Which fragment shader renders to output window
|
# Which fragment shader renders to output window
|
||||||
FRAG_OUTPUT=9
|
FRAG_OUTPUT=9
|
||||||
|
|||||||
+2
-7
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
// VIDEO 1
|
// VIDEO 1
|
||||||
// -----------
|
// -----------
|
||||||
// IN: 1+3 (RAW IN A)
|
// IN: 1 (RAW IN A)
|
||||||
// OUT: 5 (IN A)
|
// OUT: 3 (IN A)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
@@ -14,16 +14,11 @@ uniform sampler2D iTex0;
|
|||||||
uniform sampler2D iTex1;
|
uniform sampler2D iTex1;
|
||||||
uniform sampler2D iTex3;
|
uniform sampler2D iTex3;
|
||||||
uniform int iInputFormat1;
|
uniform int iInputFormat1;
|
||||||
uniform int iInputSwap1;
|
|
||||||
uniform vec2 iInputResolution1;
|
uniform vec2 iInputResolution1;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
if (iInputFormat1 == YUYV_FOURCC) {
|
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 {
|
} else {
|
||||||
fragColor = texture(iTex0, vUV);
|
fragColor = texture(iTex0, vUV);
|
||||||
}
|
}
|
||||||
|
|||||||
+94
-22
@@ -9,13 +9,13 @@ out vec4 fragColor;
|
|||||||
#include inc_debug.glsl
|
#include inc_debug.glsl
|
||||||
|
|
||||||
uniform sampler2D iTex0;
|
uniform sampler2D iTex0;
|
||||||
|
uniform sampler2D iTex3;
|
||||||
|
uniform sampler2D iTex4;
|
||||||
uniform sampler2D iTex5;
|
uniform sampler2D iTex5;
|
||||||
uniform sampler2D iTex6;
|
uniform sampler2D iTex6;
|
||||||
uniform sampler2D iTex7;
|
uniform sampler2D iTex7;
|
||||||
uniform sampler2D iTex8;
|
uniform sampler2D iTex8;
|
||||||
uniform sampler2D iTex9;
|
uniform sampler2D iTex9;
|
||||||
uniform sampler2D iTex10;
|
|
||||||
uniform sampler2D iTex11;
|
|
||||||
uniform int iFPS;
|
uniform int iFPS;
|
||||||
uniform int iInputFPS1;
|
uniform int iInputFPS1;
|
||||||
uniform int iInputFPS2;
|
uniform int iInputFPS2;
|
||||||
@@ -26,19 +26,91 @@ float s(vec2 uv, float x0, float y0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const int texts[12][5] = {
|
const int texts[12][5] = {
|
||||||
{0x49, 0x4E, 0x20, 0x41, 0x00}, // IN A
|
{
|
||||||
{0x49, 0x4E, 0x20, 0x42, 0x00}, // IN B
|
0x49,
|
||||||
{0x53, 0x52, 0x43, 0x20, 0x41}, // SRC A
|
0x4E,
|
||||||
{0x53, 0x52, 0x43, 0x20, 0x42}, // SRC B
|
0x20,
|
||||||
{0x46, 0x58, 0x20, 0x41, 0x00}, // FX A
|
0x41,
|
||||||
{0x46, 0x58, 0x20, 0x42, 0x00}, // FX B
|
0x00
|
||||||
{0x41, 0x2B, 0x42, 0x00, 0x00}, // A+B
|
}, // IN A
|
||||||
{0x4D, 0x46, 0x58, 0x00, 0x00}, // MFX
|
{
|
||||||
{0x46, 0x50, 0x53, 0x00, 0x00}, // FPS
|
0x49,
|
||||||
{0x4F, 0x46, 0x46, 0x00, 0x00}, // OFF
|
0x4E,
|
||||||
{0x44, 0x45, 0x4D, 0x4F, 0x00}, // DEMO
|
0x20,
|
||||||
{0x4C, 0x49, 0x56, 0x45, 0x00}, // LIVE
|
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() {
|
void main() {
|
||||||
vec2 uv0 = vUV.st;
|
vec2 uv0 = vUV.st;
|
||||||
@@ -50,14 +122,14 @@ void main() {
|
|||||||
|
|
||||||
vec4 c = vec4(0);
|
vec4 c = vec4(0);
|
||||||
|
|
||||||
c += s(uv2, 1, 2) * texture(iTex7, uv2);
|
c += s(uv2, 1, 2) * texture(iTex5, uv2);
|
||||||
c += s(uv2, 2, 2) * texture(iTex9, uv2);
|
c += s(uv2, 2, 2) * texture(iTex7, uv2);
|
||||||
|
|
||||||
c += s(uv2, 1, 0) * texture(iTex8, uv2);
|
c += s(uv2, 1, 0) * texture(iTex6, uv2);
|
||||||
c += s(uv2, 2, 0) * texture(iTex10, uv2);
|
c += s(uv2, 2, 0) * texture(iTex8, uv2);
|
||||||
|
|
||||||
c += s(uv2, 0, 1) * debug(mod(uv2, 1));
|
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);
|
c += s(uv2, 2, 1) * texture(iTex0, uv2);
|
||||||
|
|
||||||
float sel = 0;
|
float sel = 0;
|
||||||
@@ -77,7 +149,7 @@ void main() {
|
|||||||
t += write_5(uv3, vec2(-37, 28), texts[0]);
|
t += write_5(uv3, vec2(-37, 28), texts[0]);
|
||||||
|
|
||||||
if (iInputFormat1 == YUYV_FOURCC) {
|
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));
|
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_int(uv3, vec2(-37.6, 26.1), iInputFPS1, 2);
|
||||||
t += write_5(uv3, vec2(-35.1, 26.1), texts[8]);
|
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]);
|
t += write_5(uv3, vec2(-37, -12), texts[1]);
|
||||||
|
|
||||||
if (iInputFormat2 == YUYV_FOURCC) {
|
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));
|
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_int(uv3, vec2(-37.6, -13.9), iInputFPS2, 2);
|
||||||
t += write_5(uv3, vec2(-35.1, -13.9), texts[8]);
|
t += write_5(uv3, vec2(-35.1, -13.9), texts[8]);
|
||||||
|
|||||||
+2
-7
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
// VIDEO 2
|
// VIDEO 2
|
||||||
// -----------
|
// -----------
|
||||||
// IN: 2+4 (RAW IN B)
|
// IN: 2 (RAW IN B)
|
||||||
// OUT: 6 (IN B)
|
// OUT: 4 (IN B)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
@@ -14,16 +14,11 @@ uniform sampler2D iTex0;
|
|||||||
uniform sampler2D iTex2;
|
uniform sampler2D iTex2;
|
||||||
uniform sampler2D iTex4;
|
uniform sampler2D iTex4;
|
||||||
uniform int iInputFormat2;
|
uniform int iInputFormat2;
|
||||||
uniform int iInputSwap2;
|
|
||||||
uniform vec2 iInputResolution2;
|
uniform vec2 iInputResolution2;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
if (iInputFormat2 == YUYV_FOURCC) {
|
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 {
|
} else {
|
||||||
fragColor = texture(iTex0, vUV);
|
fragColor = texture(iTex0, vUV);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// SRC A
|
// SRC A
|
||||||
// -----------
|
// -----------
|
||||||
// OUT: 7 (FX A)
|
// OUT: 5 (FX A)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// SRC B
|
// SRC B
|
||||||
// -----------
|
// -----------
|
||||||
// OUT: 8 (FX B)
|
// OUT: 6 (FX B)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
|
|||||||
+5
-5
@@ -2,20 +2,20 @@
|
|||||||
|
|
||||||
// FX A
|
// FX A
|
||||||
// -------------
|
// -------------
|
||||||
// IN: 7 (SRC A)
|
// IN: 5 (SRC A)
|
||||||
// IN: 9 (FX A)
|
// IN: 7 (FX A)
|
||||||
// OUT: 9 (A+B)
|
// OUT: 7 (A+B)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
|
|
||||||
#include inc_fx.glsl
|
#include inc_fx.glsl
|
||||||
|
|
||||||
|
uniform sampler2D iTex5;
|
||||||
uniform sampler2D iTex7;
|
uniform sampler2D iTex7;
|
||||||
uniform sampler2D iTex9;
|
|
||||||
uniform int iSeed5;
|
uniform int iSeed5;
|
||||||
uniform vec3 iGroup2_1[7];
|
uniform vec3 iGroup2_1[7];
|
||||||
|
|
||||||
void main() {
|
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]);
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -2,20 +2,20 @@
|
|||||||
|
|
||||||
// FX B
|
// FX B
|
||||||
// -------------
|
// -------------
|
||||||
// IN: 8 (SRC B)
|
// IN: 6 (SRC B)
|
||||||
// IN: 10 (FX B)
|
// IN: 8 (FX B)
|
||||||
// OUT: 10 (A+B)
|
// OUT: 8 (A+B)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
|
|
||||||
#include inc_fx.glsl
|
#include inc_fx.glsl
|
||||||
|
|
||||||
|
uniform sampler2D iTex6;
|
||||||
uniform sampler2D iTex8;
|
uniform sampler2D iTex8;
|
||||||
uniform sampler2D iTex10;
|
|
||||||
uniform int iSeed6;
|
uniform int iSeed6;
|
||||||
uniform vec3 iGroup2_2[7];
|
uniform vec3 iGroup2_2[7];
|
||||||
|
|
||||||
void main() {
|
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]);
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
// A+B
|
// A+B
|
||||||
// ------------
|
// ------------
|
||||||
// IN: 9 (FX A)
|
// IN: 7 (FX A)
|
||||||
// IN: 10 (FX B)
|
// IN: 8 (FX B)
|
||||||
// OUT: 11 (MFX)
|
// OUT: 9 (MFX)
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
@@ -13,8 +13,8 @@ out vec4 fragColor;
|
|||||||
#include inc_functions.glsl
|
#include inc_functions.glsl
|
||||||
|
|
||||||
uniform int iDemo;
|
uniform int iDemo;
|
||||||
uniform sampler2D iTex9;
|
uniform sampler2D iTex7;
|
||||||
uniform sampler2D iTex10;
|
uniform sampler2D iTex8;
|
||||||
uniform int iSeed7;
|
uniform int iSeed7;
|
||||||
uniform vec3 iGroup3_1[2];
|
uniform vec3 iGroup3_1[2];
|
||||||
|
|
||||||
@@ -22,8 +22,8 @@ void main() {
|
|||||||
float mix_value = magic(iGroup3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
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);
|
bool mix_type = magic_trigger(vec3(iGroup3_1[0].x, 0, 0), iSeed7 + 10);
|
||||||
|
|
||||||
vec4 color_a = texture(iTex9, vUV);
|
vec4 color_a = texture(iTex7, vUV);
|
||||||
vec4 color_b = texture(iTex10, vUV);
|
vec4 color_b = texture(iTex8, vUV);
|
||||||
|
|
||||||
float k = mean(color_a);
|
float k = mean(color_a);
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// MFX
|
// MFX
|
||||||
// ------------
|
// ------------
|
||||||
// IN: 11 (A+B)
|
// IN: 9 (A+B)
|
||||||
// IN: 0 (OUT)
|
// IN: 0 (OUT)
|
||||||
// OUT: 0 (OUT)
|
// OUT: 0 (OUT)
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ out vec4 fragColor;
|
|||||||
|
|
||||||
#include inc_fx.glsl
|
#include inc_fx.glsl
|
||||||
|
|
||||||
uniform sampler2D iTex11;
|
uniform sampler2D iTex9;
|
||||||
uniform sampler2D iTex0;
|
uniform sampler2D iTex0;
|
||||||
uniform int iSeed8;
|
uniform int iSeed8;
|
||||||
uniform vec3 iGroup2_3[7];
|
uniform vec3 iGroup2_3[7];
|
||||||
@@ -20,7 +20,7 @@ uniform int iDemo;
|
|||||||
uniform int iAutoRand;
|
uniform int iAutoRand;
|
||||||
|
|
||||||
void main() {
|
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) {
|
if (iDemo < 1 && iAutoRand < 1) {
|
||||||
color = mix(color, vec4(0), iGroup3_1[0].y);
|
color = mix(color, vec4(0), iGroup3_1[0].y);
|
||||||
|
|||||||
Reference in New Issue
Block a user