aboutsummaryrefslogtreecommitdiff
path: root/BuddhaTest/Shaders/BuddhaFragment.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'BuddhaTest/Shaders/BuddhaFragment.glsl')
-rw-r--r--BuddhaTest/Shaders/BuddhaFragment.glsl11
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;
}