第 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);
}