diff options
Diffstat (limited to 'src/osd/modules/render/bgfx/shaders/chains/lottes/vs_vert.sc')
-rw-r--r-- | src/osd/modules/render/bgfx/shaders/chains/lottes/vs_vert.sc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/osd/modules/render/bgfx/shaders/chains/lottes/vs_vert.sc b/src/osd/modules/render/bgfx/shaders/chains/lottes/vs_vert.sc new file mode 100644 index 00000000000..21e0eeb35ac --- /dev/null +++ b/src/osd/modules/render/bgfx/shaders/chains/lottes/vs_vert.sc @@ -0,0 +1,26 @@ +varying float saturation; +varying float tint; +varying float U; //U and W are for the tint/saturation calculations +varying float W; +varying vec3 YUVr; +varying vec3 YUVg; +varying vec3 YUVb; +#define PI 3.141592653589 + +void main() +{ + //gl_TexCoord[0] = gl_MultiTexCoord0; + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_Position = ftransform(); + + //Had to move the YUV calculations to the vertex shader for space + saturation = 1.1; // 1.0 is normal saturation. Increase as needed. + tint = 0.0; //0.0 is 0.0 degrees of Tint. Adjust as needed. + U = cos(tint*PI/180.0); + W = sin(tint*PI/180.0); + YUVr=vec3(0.701*saturation*U+0.16774*saturation*W+0.299,0.587-0.32931*saturation*W-0.587*saturation*U,-0.497*saturation*W-0.114*saturation*U+0.114); + YUVg=vec3(-0.3281*saturation*W-0.299*saturation*U+0.299,0.413*saturation*U+0.03547*saturation*W+0.587,0.114+0.29265*saturation*W-0.114*saturation*U); + YUVb=vec3(0.299+1.24955*saturation*W-0.299*saturation*U,-1.04634*saturation*W-0.587*saturation*U+0.587,0.886*saturation*U-0.20321*saturation*W+0.114); +} + + |