improvements in pattern

This commit is contained in:
metallic77 2023-06-15 09:01:58 +03:00 committed by GitHub
parent 93dfa33afe
commit 0e1eefef9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,7 +16,7 @@ layout(push_constant) uniform Push
// Parameter lines go here:
#pragma parameter msk_scale "Mask Scale, to be equal to OSSC LINES" 4.0 4.0 5.0 1.0
#pragma parameter msk_scale "Mask Scale, to be equal to OSSC LINES" 4.0 3.0 5.0 1.0
#define msk_scale params.msk_scale
#pragma parameter MASK_INTENSITY "Mask Brightness" 0.2 0.0 1.0 0.05
@ -65,6 +65,23 @@ vec3 mask(vec2 pos, vec3 col)
float x,y;
vec2 p = pos*global.OutputSize.xy;
p = (p/size);
if (msk_scale == 3.0)
{
x = fract(p.x/6.0);
y = fract(p.y/3.0);
if (x < 0.5){
if (x<1.0/6.0 && y > 1.0/3.0) msk.b = 1.0;
else if (x<2.0/6.0 && x>1.0/6.0 && y > 1.0/3.0 ) msk.g = 1.0;
else if (x<3.0/6.0 && x>2.0/6.0 && y > 1.0/3.0 ) msk.r = 1.0;
}
else if (x > 0.4999){
if (x<4.0/6.0 && y < 2.0/3.0 || x<4.0/6.0 && y >= 3.0/3.0 ) msk.b = 1.0;
else if (x<5.0/6.0 && x>4.0/6.0 && y < 2.0/3.0 || x<5.0/6.0 && x>4.0/6.0 && y >= 3.0/3.0) msk.g = 1.0;
else if (x<6.0/6.0 && x>5.0/6.0 && y < 2.0/3.0 || x<6.0/6.0 && x>5.0/6.0 && y >= 3.0/3.0) msk.r = 1.0;
}
}
if (msk_scale == 4.0)
@ -72,15 +89,15 @@ if (msk_scale == 4.0)
x = fract(p.x/6.0);
y = fract(p.y/4.0);
if (x < 0.5){
if (x<1.0/6.0 && y > 1.0/4.0) msk.b = 1.0;
if (x<1.0/6.0 && y > 1.0/4.0) msk.b = 1.0;
else if (x<2.0/6.0 && x>1.0/6.0 && y < 3.0/4.0 ) msk.g = 1.0;
else if (x<3.0/6.0 && x>2.0/6.0 && y > 1.0/4.0 ) msk.r = 1.0;
}
else if (x > 0.4999){
if (x<4.0/6.0 && y < 3.0/4.0) msk.b = 1.0;
else if (x<5.0/6.0 && x>4.0/6.0 && y > 1.0/4.0 ) msk.g = 1.0;
else if (x<6.0/6.0 && x>5.0/6.0 && y < 3.0/4.0 ) msk.r = 1.0;
if (x<4.0/6.0 && y < 2.0/4.0 || x<4.0/6.0 && y >= 3.0/4.0 ) msk.b = 1.0;
else if (x<5.0/6.0 && x>4.0/6.0 && y < 2.0/4.0 || x<5.0/6.0 && x>4.0/6.0 && y >= 3.0/4.0) msk.g = 1.0;
else if (x<6.0/6.0 && x>5.0/6.0 && y < 2.0/4.0 || x<6.0/6.0 && x>5.0/6.0 && y >= 3.0/4.0) msk.r = 1.0;
}
}
@ -89,15 +106,15 @@ if (msk_scale == 5.0)
x = fract(p.x/6.0);
y = fract(p.y/5.0);
if (x < 0.5){
if (x<1.0/6.0 && y > 1.0/5.0) msk.b = 1.0;
else if (x<2.0/6.0 && x>1.0/6.0 && y < 4.0/5.0 ) msk.g = 1.0;
if (x<1.0/6.0 && y > 1.0/5.0) msk.b = 1.0;
else if (x<2.0/6.0 && x>1.0/6.0 && y > 1.0/5.0 ) msk.g = 1.0;
else if (x<3.0/6.0 && x>2.0/6.0 && y > 1.0/5.0 ) msk.r = 1.0;
}
else if (x > 0.4999){
if (x<4.0/6.0 && y < 2.0/5.0 || x<4.0/6.0 && y >= 3.0/5.0) msk.b = 1.0;
else if (x<5.0/6.0 && x>4.0/6.0 && y < 3.0/5.0 || x<5.0/6.0 && x>4.0/6.0 && y >= 4.0/5.0 ) msk.g = 1.0;
else if (x<6.0/6.0 && x>5.0/6.0 && y < 2.0/5.0 || x<6.0/6.0 && x>5.0/6.0 && y >= 3.0/5.0 ) msk.r = 1.0;
if (x<4.0/6.0 && y < 3.0/5.0 || x<4.0/6.0 && y >= 4.0/5.0) msk.b = 1.0;
else if (x<5.0/6.0 && x>4.0/6.0 && y < 3.0/5.0 || x<5.0/6.0 && x>4.0/6.0 && y >= 4.0/5.0 ) msk.g = 1.0;
else if (x<6.0/6.0 && x>5.0/6.0 && y < 3.0/5.0 || x<6.0/6.0 && x>5.0/6.0 && y >= 4.0/5.0 ) msk.r = 1.0;
}
}