opengl实现PS中部分图像处理效果-正片叠底、逆正片叠底、颜色加深、减淡
2017-09-12 18:32
1256 查看
效果图
正片叠底shader
颜色减淡shader
正片叠底shader
varying vec2 V_Texcoord; uniform sampler2D U_BaseTexture; uniform sampler2D U_BlendTexture; void main() { vec4 blendColor=texture2D(U_BlendTexture,V_Texcoord); vec4 baseColor=texture2D(U_BaseTexture,V_Texcoord); //r,g,b,a gl_FragColor=blendColor*baseColor; }逆正片叠底shader
varying vec2 V_Texcoord; uniform sampler2D U_BaseTexture; uniform sampler2D U_BlendTexture; void main() { vec4 blendColor=texture2D(U_BlendTexture,V_Texcoord); vec4 baseColor=texture2D(U_BaseTexture,V_Texcoord); //r,g,b,a gl_FragColor=vec4(1.0)-((vec4(1.0)-blendColor)*(vec4(1.0)-baseColor)); }颜色加深shader
varying vec2 V_Texcoord; uniform sampler2D U_BaseTexture; uniform sampler2D U_BlendTexture; void main() { vec4 blendColor=texture2D(U_BlendTexture,V_Texcoord); vec4 baseColor=texture2D(U_BaseTexture,V_Texcoord); //r,g,b,a gl_FragColor=vec4(1.0)-(vec4(1.0)-baseColor)/blendColor; }
颜色减淡shader
varying vec2 V_Texcoord; uniform sampler2D U_BaseTexture; uniform sampler2D U_BlendTexture; void main() { vec4 blendColor=texture2D(U_BlendTexture,V_Texcoord); vec4 baseColor=texture2D(U_BaseTexture,V_Texcoord); //r,g,b,a gl_FragColor=baseColor/(vec4(1.0)-blendColor); }
相关文章推荐
- Java图像处理教程之正片叠底效果的实现
- canvas图像处理实现马赛克效果
- Android图像处理技术(实现Android中的PS)(一)
- 图像处理之——浮雕效果实现
- Python实现PS图像调整黑白效果示例
- C#图像处理类(使用此类可实现生成锐化效果、黑白效果和灰度效果)
- Python实现PS图像抽象画风效果的方法
- Python实现PS图像明亮度调整效果示例
- Android图像处理(五)镜像、倒影、drawBitmapMesh实现旗帜飘扬效果
- 【VS开发】【图像处理】基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果
- Android图像处理技术(实现Android中的PS)(二)
- Android图像处理技术(实现Android中的PS)(五)
- C#图像处理之木刻效果实现方法
- Python实现PS图像调整颜色梯度效果示例
- 【图像处理】C#实现哈哈镜效果
- C#图像处理之浮雕效果实现方法
- 图形处理 - 实现渐变色与图像叠加效果
- 原创 ···DELPHI 图片图形图像处理 PS置换滤镜效果,亮度/对比度,纹理贴图效果
- OpenCV 图像处理的各种滤镜效果实现
- Android图像处理技术(实现Android中的PS)(四)