mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-11 22:10:07 -05:00
Even faster bloom.
This commit is contained in:
@@ -60,7 +60,7 @@ const float weights2[] = float[](0.0024499299678342,
|
||||
|
||||
// Gaussian weights calculated by http://dev.theomader.com/gaussian-kernel-calculator/
|
||||
// sigma = 4.4625, kernel size = 5
|
||||
const float weights[] = float[](0.190079,
|
||||
const float weights3[] = float[](0.190079,
|
||||
0.204885,
|
||||
0.210072,
|
||||
0.204885,
|
||||
@@ -68,7 +68,7 @@ const float weights[] = float[](0.190079,
|
||||
|
||||
// Gaussian weights calculated by http://dev.theomader.com/gaussian-kernel-calculator/
|
||||
// sigma = 8, kernel size = 45
|
||||
const float weights3[] = float[](0.001147,
|
||||
const float weights[] = float[](0.001147,
|
||||
0.001605,
|
||||
0.002209,
|
||||
0.002995,
|
||||
@@ -125,13 +125,10 @@ void main(void)
|
||||
{
|
||||
ivec2 texelCoord = P + ivec2(0, w);
|
||||
vec4 tmpColor = vec4(0.0);
|
||||
if ((texelCoord.x >= 0 && texelCoord.y >= 0) &&
|
||||
(texelCoord.x < maxResX && texelCoord.y < maxResY)) {
|
||||
for (int s = 0; s < numberOfSamples; ++s) {
|
||||
tmpColor += texelFetch(msaaTexture, texelCoord, s);
|
||||
}
|
||||
tmpColor /= numberOfSamples;
|
||||
}
|
||||
for (int s = 0; s < numberOfSamples; ++s) {
|
||||
tmpColor += texelFetch(msaaTexture, texelCoord, s);
|
||||
}
|
||||
tmpColor /= numberOfSamples;
|
||||
color += tmpColor * weights[w];
|
||||
}
|
||||
|
||||
|
||||
@@ -738,9 +738,6 @@ void FramebufferRenderer::applyBloomFilter() {
|
||||
_bloomProgram->setUniform("msaaTexture", msaaTextureUnit);
|
||||
_bloomProgram->setUniform("numberOfSamples", _nAaSamples);
|
||||
|
||||
_bloomProgram->setUniform("maxResX", _resolution.y);
|
||||
_bloomProgram->setUniform("maxResY", _resolution.x);
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
//glFlush();
|
||||
}
|
||||
@@ -765,9 +762,6 @@ void FramebufferRenderer::applyBloomFilter() {
|
||||
_bloomProgram->setUniform("msaaTexture", msaaTextureUnit);
|
||||
_bloomProgram->setUniform("numberOfSamples", _nAaSamples);
|
||||
|
||||
_bloomProgram->setUniform("maxResX", _resolution.x);
|
||||
_bloomProgram->setUniform("maxResY", _resolution.y);
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
||||
//glFlush();
|
||||
|
||||
Reference in New Issue
Block a user