跳到主要内容
← Advanced Rendering

Advanced Rendering

HDR

shader-learning 自学第 10 课:HDR

代码复盘 GLSL

第 10 课:HDR

本课需 多 pass / 后处理,暂以代码复盘呈现。

实现

uniform vec2 iResolution;
uniform float iTime;

uniform sampler2D iRTBuffer0; // color

out vec4 FragColor;

void main() {
  vec2 uv = gl_FragCoord.xy / iResolution.xy;

  vec4 hdrColor = texture(iRTBuffer0, uv);
  float exposure = 0.5;
  vec3 srdColor = 1.0 - exp(-hdrColor.rgb * exposure);

  FragColor = vec4(srdColor, 1.0);
}