Update leenkx/Shaders/std/tonemap.glsl
This commit is contained in:
		| @ -41,14 +41,20 @@ vec3 tonemapReinhard(const vec3 color) { | ||||
|  | ||||
| // AGX Simple | ||||
| vec3 tonemapAgXSimple(vec3 x) { | ||||
|     const vec3 AgX_A = vec3(0.5, 0.5, 0.5); | ||||
|     const vec3 AgX_B = vec3(0.5, 0.5, 0.5); | ||||
|     const vec3 AgX_C = vec3(1.0, 1.0, 1.0); | ||||
|     const vec3 AgX_D = vec3(0.0, 0.0, 0.0); | ||||
|     const vec3 AgX_E = vec3(0.0, 0.0, 0.0); | ||||
|     const vec3 AgX_F = vec3(1.0, 1.0, 1.0); | ||||
|      | ||||
|     return (x * (AgX_A * x + AgX_B)) / (x * (AgX_C * x + AgX_D) + AgX_E) + AgX_F; | ||||
| 	// TODO CORRECT AND OPTIMIZE | ||||
|     x = max(x, vec3(0.0)); | ||||
|     float exposure = 0.6; | ||||
|     x *= exposure; | ||||
|     const vec3 AgX_A = vec3(0.92, 0.92, 0.72); | ||||
|     const vec3 AgX_B = vec3(0.24, 0.24, 0.36); | ||||
|     const vec3 AgX_C = vec3(0.92, 0.92, 0.72); | ||||
|     const vec3 AgX_D = vec3(0.24, 0.24, 0.36); | ||||
|     const vec3 AgX_E = vec3(0.08, 0.08, 0.12); | ||||
|     const vec3 AgX_F = vec3(0.0); | ||||
|     vec3 result = (x * (AgX_A * x + AgX_B)) / (x * (AgX_C * x + AgX_D) + AgX_E) + AgX_F; | ||||
|     float luma = dot(result, vec3(0.2126, 0.7152, 0.0722)); | ||||
|     result = mix(vec3(luma), result, 0.6); | ||||
|     return clamp(result, vec3(0.0), vec3(1.0)); | ||||
| } | ||||
|  | ||||
| // AGX Full Contrast Approx | ||||
|  | ||||
		Reference in New Issue
	
	Block a user