glsl计算sprite的亮度饱和度对比度
//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;
}
}
glsl计算sprite的亮度饱和度对比度的更多相关文章
- Python-OpenCV——亮度和对比度
亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. OpenCV中亮度和对比度应用这个公式来计算:g(x) = αf ...
- Opencv学习笔记4:Opencv处理调整图片亮度和对比度
一.理论基础 在数学中我们学过线性理论,在图像亮度和对比度调节中同样适用,看下面这个公式: 在图像像素中其中: 参数f(x)表示源图像像素. 参数g(x) 表示输出图像像素. 参数a(需要满足a> ...
- [ActionScript 3.0] 亮度、对比度、饱和度、色相的调整
import fl.motion.ColorMatrix; import flash.filters.ColorMatrixFilter; //**调整亮度**// var ld_Matrix:Col ...
- cocos2dx 修改亮度、对比度、色调、饱和度
废话少说,直接修改CCSprite使用的片面着色器ccShader_PositionTextureColor_noMVP.frag: /* * cocos2d for iPhone: http://w ...
- opencv:通过滑动条调节亮度和对比度
示例代码: #include <opencv.hpp> using namespace cv; using namespace std; void on_change(int, void* ...
- 调整图像的亮度和对比度—opencv
1.理论基础 两个参数 和 一般称作 增益 和 偏置 参数.我们往往用这两个参数来分别控制 对比度 和 亮度 . 你可以把 看成源图像像素,把 看成输出图像像素.这样一来,上面的式子就能写得更 ...
- C#调整图片亮度和对比度
BitmapSource bitmap = null; ; ; private void SetBrightness(int degree) { degree = degree * / ; Write ...
- TensorLayer官方中文文档1.7.4:API – 数据预处理
所属分类:TensorLayer API - 数据预处理¶ 我们提供大量的数据增强及处理方法,使用 Numpy, Scipy, Threading 和 Queue. 不过,我们建议你直接使用 Tens ...
- Unity Shader-后处理:简单的颜色调整(亮度,饱和度,对比度)
好久没坚持写blog了,是时候开始撸一波新博文了!学习Unity有一段时间了,关于Shader的书也看了几本<Unity Shader入门精要>,<Unity 3D ShaderLa ...
随机推荐
- android asyncTask 详解
只看http://www.cnblogs.com/xiaoluo501395377/p/3430542.html 足以
- SVN 首次用TortoiseSVN Checkout 提示Unexpected HTTP status 405
权限错误 首次使用 因为没有 弹出 用户名密码输入框 无法输入 帐户信息. 解决办法: 点击 仓库地址输入栏 右边 的...按钮 此时弹出的输入框浏览器方式访问的.输入用户名和密码,然后在左侧出来的仓 ...
- namenode 无法启动之每次开机需要重新格式化-tmp
最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动 每次开机都得重新格式化一下namenode才可以 其实问题就出在tmp文件,默 ...
- SharePoint 2013 开发——概述
博客地址:http://blog.csdn.net/FoxDave 近来阅读SharePoint 2013开发一书,带着与大家一起分享其中的内容. 部署场景: 本地部署(On-Premise D ...
- OBJECT ARX 获取标注样式信息
CString str = _T("标注样式"); CString strTmp(_T("")); ////获得当前图形的标注样式表 AcDbDimStyleT ...
- 产生冠军 map 的 应用 .
开始 比赛 , 每一次的 比赛 都会有人失败 , 如果产生英雄的话 , 那就是产生 唯一一个 没有被打败的人 , 就是英雄, . #include<stdio.h> #includ ...
- Map写入的顺序 输出地顺序ZT
偶然间 发现hashmap遍历的结果不是放入的顺序 为了项目某个功能更人性话 思考了半天还是不知道如何下手 因为有种种条件限制 后来 无意中发现 java.util.LinkedHashMap< ...
- 【LeetCode OJ】Pascal's Triangle
Prolbem Link: http://oj.leetcode.com/problems/pascals-triangle/ Just a nest-for-loop... class Soluti ...
- 【LeetCode OJ】Triangle
Problem Link: http://oj.leetcode.com/problems/triangle/ Let R[][] be a 2D array where R[i][j] (j < ...
- 常用的php字符串处理函数
php常用的字符串处理函数 1.trim():从字符串的两端删除空白字符和其他预定义字符 ltrim():从字符串的左端删除空格和其他预定义字符 rtrim():从字符串的末端开始删除空白字符和其他预 ...