1
0

__shdBulbTonemapHBD.fsh 589 B

1234567891011121314151617181920212223
  1. varying vec2 v_vTexcoord;
  2. varying vec4 v_vColour;
  3. uniform float u_fExposure;
  4. uniform sampler2D u_sLightMap;
  5. const float gamma = 2.2;
  6. vec3 Heji_BurgessDawson(vec3 color)
  7. {
  8. color = max(vec3(0.0), color - 0.004);
  9. return (color * (6.2*color + 0.5)) / (color * (6.2*color + 1.7) + 0.06);
  10. }
  11. void main()
  12. {
  13. gl_FragColor = v_vColour*texture2D(gm_BaseTexture, v_vTexcoord);
  14. gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(gamma));
  15. vec4 light = texture2D(u_sLightMap, v_vTexcoord);
  16. gl_FragColor.rgb = Heji_BurgessDawson(u_fExposure*gl_FragColor.rgb*light.rgb);
  17. }