From 14721633b2afc91673487906f04752b9bc1b46c2 Mon Sep 17 00:00:00 2001 From: hizzlekizzle Date: Fri, 10 Jun 2022 08:33:15 -0500 Subject: [PATCH] add black/white masks to subpixel mask function --- include/subpixel_masks.h | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/subpixel_masks.h b/include/subpixel_masks.h index e216a6b..3f509eb 100644 --- a/include/subpixel_masks.h +++ b/include/subpixel_masks.h @@ -322,6 +322,26 @@ vec3 mask_weights(vec2 coord, float mask_intensity, int phosphor_layout){ weights = slot[w][z]; return weights; } + + else if(phosphor_layout == 22){ + // black and white aperture; good for weird subpixel layouts and low brightness; good for 1080p and lower + vec3 bw3[3] = vec3[](black, white, white); + + z = int(floor(mod(coord.x, 3.0))); + + weights = bw3[z]; + return weights; + } + + else if(phosphor_layout == 23){ + // black and white aperture; good for weird subpixel layouts and low brightness; good for 4k + vec3 bw4[4] = vec3[](black, black, white, white); + + z = int(floor(mod(coord.x, 4.0))); + + weights = bw4[z]; + return weights; + } else return weights; } @@ -642,6 +662,28 @@ vec3 mask_weights_alpha(vec2 coord, float mask_intensity, int phosphor_layout, o alpha = 21./96.; return weights; } + + else if(phosphor_layout == 22){ + // black and white aperture; good for weird subpixel layouts and low brightness; good for 1080p and lower + vec3 bw3[3] = vec3[](black, white, white); + + z = int(floor(mod(coord.x, 3.0))); + + weights = bw3[z]; + alpha = 2./3.; + return weights; + } + + else if(phosphor_layout == 23){ + // black and white aperture; good for weird subpixel layouts and low brightness; good for 4k + vec3 bw4[4] = vec3[](black, black, white, white); + + z = int(floor(mod(coord.x, 4.0))); + + weights = bw4[z]; + alpha = 0.5; + return weights; + } else return weights; }