Skip to content

Instantly share code, notes, and snippets.

@destroyermanxyz
Forked from yiwenl/GLSL_contrast
Created September 3, 2023 08:53
Show Gist options
  • Select an option

  • Save destroyermanxyz/503e9819f0ceb7e24542fde43941623c to your computer and use it in GitHub Desktop.

Select an option

Save destroyermanxyz/503e9819f0ceb7e24542fde43941623c to your computer and use it in GitHub Desktop.
Greyscale in glsl
float contrast(float mValue, float mScale, float mMidPoint) {
return clamp( (mValue - mMidPoint) * mScale + mMidPoint, 0.0, 1.0);
}
float contrast(float mValue, float mScale) {
return contrast(mValue, mScale, .5);
}
vec3 contrast(vec3 mValue, float mScale, float mMidPoint) {
return vec3( contrast(mValue.r, mScale, mMidPoint), contrast(mValue.g, mScale, mMidPoint), contrast(mValue.b, mScale, mMidPoint) );
}
vec3 contrast(vec3 mValue, float mScale) {
return contrast(mValue, mScale, .5);
}
void main(void) {
vec4 color = texture2D(uSampler0, vTextureCoord);
float gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));
gl_FragColor = vec4(vec3(gray), 1.0);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment