aboutsummaryrefslogtreecommitdiff
path: root/BuddhaTest/Shaders/BuddhaFragment.glsl
blob: 4978765588322e939e2307d8a64de0861756ceea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#version 430 core

in vec2 uv;

out vec3 color;

layout(std430, binding=2) buffer renderedData
{
        uint width;
        uint height;
        uint counts_SSBO[];
};

uvec3 getColorAt(vec2 fragCoord)
{
    uint xIndex = uint(max(0.0,(fragCoord.x+1.0)*0.5*width));
    uint yIndex = uint(max(0.0,(fragCoord.y+1.0)*0.5*height));
    uint firstIndex = 3*(xIndex + yIndex * width);
    return uvec3(counts_SSBO[firstIndex],counts_SSBO[firstIndex+1],counts_SSBO[firstIndex+2]);
}

void main(){
    uvec3 totalCount = getColorAt(uv) + getColorAt(vec2(uv.x, -uv.y));
    uvec3 brightness = getColorAt(vec2(-0.2390625,0));

    vec3 scaled = vec3(totalCount)/max(length(vec3(brightness)),1.0);
    color = scaled;
}