码迷,mamicode.com
首页 > 其他好文 > 详细

HDR

时间:2018-02-28 23:02:23      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:简易   img   span   res   out   ec2   oid   result   void   

  原始图像

  技术分享图片

  处理后

  技术分享图片

  逻辑

  提取图像中超过你需要的亮度的像素,根据曝光函数曲线图,让亮的更亮,暗的更暗

  简易曝光函数 f = -4*gray^2+5*gray;

  核心代码

  

 1 #version 330 core
 2 out vec4 FragColor;
 3 
 4 in vec2 TexCoords;
 5 
 6 uniform sampler2D screenTexture;
 7 uniform sampler2D textrue0;
 8 
 9 vec4 expose(vec4 col, float gray, float k)
10 {
11     float a = 4.0 * k - 1.0;
12     float b = 2.0 - 4.0 * k;
13     float result = gray * gray * b + gray * a;    //求取曝光参数
14 
15     return result * col;
16 }
17 
18 void main()
19 {
20     vec4 col = texture(screenTexture, TexCoords);
21     vec4 col2 = texture(textrue0, TexCoords);
22     float gray = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; //获取亮度值(灰度)
23     FragColor = expose(col2, gray, 1.5);    
24 }

 

HDR

标签:简易   img   span   res   out   ec2   oid   result   void   

原文地址:https://www.cnblogs.com/TooManyWayToBe/p/8485899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!