diff options
Diffstat (limited to 'BuddhaTest/Shaders/BuddhaFragment.glsl')
-rw-r--r-- | BuddhaTest/Shaders/BuddhaFragment.glsl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/BuddhaTest/Shaders/BuddhaFragment.glsl b/BuddhaTest/Shaders/BuddhaFragment.glsl index 449aa29..52a0354 100644 --- a/BuddhaTest/Shaders/BuddhaFragment.glsl +++ b/BuddhaTest/Shaders/BuddhaFragment.glsl @@ -6,11 +6,17 @@ out vec3 color; layout(std430, binding=2) restrict readonly buffer renderedDataRed { - restrict readonly uint counts_SSBO[]; + restrict readonly uint counts_SSBO[]; +}; +layout(std430, binding=3) restrict readonly buffer brightnessData +{ + restrict readonly uint brightness; }; uniform uint width; uniform uint height; +uniform float gamma; +uniform float colorScale; uvec3 getColorAt(vec2 fragCoord) { @@ -22,8 +28,7 @@ uvec3 getColorAt(vec2 fragCoord) void main(){ uvec3 totalCount = getColorAt(uv); - uvec3 brightness = getColorAt(vec2(-0.2390625,0)); - vec3 scaled = vec3(totalCount)/max(length(vec3(brightness)),1.0); + vec3 scaled = pow(min(vec3(1.0),colorScale*vec3(totalCount)/max(float(brightness),1.0)),vec3(gamma)); color = scaled; } |