glsl计算sprite的亮度饱和度对比度
2024-10-18 22:30:37
//glsl计算sprite的亮度饱和度对比度
#ifdef GL_ES
precision mediump float;
#endif
uniform sampler2D u_texture;
varying vec2 v_texCoord;
varying vec4 v_fragmentColor; void main(void)
{
vec4 color = texture2D(u_texture, v_texCoord);
if(color.a >= 0.4)
{
vec3 avg = vec3(0.5,0.5,0.5);
vec3 luncoeff = vec3 (0.2125, 0.7154, 0.0721);
float T1 = 0.4;
float T2 = 2.4;
//计算亮度
vec3 brtColor = color.rgb * T2;
float intensityf = dot(brtColor,luncoeff);
vec3 intensity = vec3(intensityf,intensityf,intensityf);
//计算饱和度
vec3 satColor = vec3(mix(intensity, brtColor, .));
//计算对比度
vec3 conColor = vec3(mix(avg, satColor, T1));
gl_FragColor = vec4(conColor.r,conColor.g,conColor.b,color.a);
}
else
{
gl_FragColor = color;
}
}
最新文章
- mysql 笔记
- filter之排除个别过滤
- a与a:link、a:visited、a:hover、a:active
- mysql字符乱码
- httpClenit的post出现乱码问题
- Python开发【第一篇】Python基础之正则表达式补充
- ODI性能问题
- POJ 3047 Fibonacci
- 201521123045 《Java程序设计》第8周学习总结
- 警惕Java编译器中那些“蜜糖”陷阱
- python split 的应用
- c/c++ 标准库 map set 插入
- localStorage 不方便存储数组时的替代方法
- bzoj 2527 Meteors - 整体二分 - 树状数组
- JVM总结-Java语法糖与Java编译器
- linux 下载文件
- cmder切换路径、设置命令别名
- 【Python基础教程第2版】——第一讲:基础知识
- 网络助手之NABCD
- java(一)IntelliJ和eclipse环境下的Hello World