20 lines
498 B
GLSL
20 lines
498 B
GLSL
#version 330 core
|
|
|
|
layout(location = 0) out uint fragHits;
|
|
|
|
uniform usampler2D partial_histogram_tex;
|
|
|
|
void main()
|
|
{
|
|
ivec2 partial_histogram_size = textureSize(partial_histogram_tex, 0); // screen x 256
|
|
uint bin = uint(gl_FragCoord.x); // [0, 255]
|
|
|
|
uint hits = 0u;
|
|
|
|
for (int column = 0; column < partial_histogram_size.x; ++column) {
|
|
uint partial_hits = texelFetch(partial_histogram_tex, ivec2(column, bin), 0).r;
|
|
hits += partial_hits;
|
|
}
|
|
|
|
fragHits = hits;
|
|
}
|