Final intensity adjustments

This commit is contained in:
Olivier Prat 2018-04-10 12:36:36 +02:00
parent 2974e05cf2
commit f6ffbef60d
3 changed files with 11 additions and 12 deletions

View file

@ -332,11 +332,11 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
if (!_antialiasingBuffers->get(0)) {
// Link the antialiasing FBO to texture
auto format = sourceBuffer->getRenderBuffer(0)->getTexelFormat();
auto defaultSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR, gpu::Sampler::WRAP_CLAMP);
for (int i = 0; i < 2; i++) {
auto& antiAliasingBuffer = _antialiasingBuffers->edit(i);
antiAliasingBuffer = gpu::FramebufferPointer(gpu::Framebuffer::create("antialiasing"));
auto format = sourceBuffer->getRenderBuffer(0)->getTexelFormat();
auto defaultSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR, gpu::Sampler::WRAP_CLAMP);
_antialiasingTextures[i] = gpu::Texture::createRenderBuffer(format, width, height, gpu::Texture::SINGLE_MIP, defaultSampler);
antiAliasingBuffer->setRenderBuffer(0, _antialiasingTextures[i]);
}

View file

@ -23,5 +23,5 @@ void main(void) {
vec4 blur1 = texture(blurMap1, varTexCoord0);
vec4 blur2 = texture(blurMap2, varTexCoord0);
outFragColor = vec4(blur0.rgb*intensity.x+blur1.rgb*intensity.y+blur2.rgb*intensity.z, 1.0f);
outFragColor = vec4(blur0.rgb*intensity.x + blur1.rgb*intensity.y + blur2.rgb*intensity.z, 1.0f);
}

View file

@ -98,10 +98,9 @@ BloomApply::BloomApply() : _intensities{ 1.0f, 1.0f, 1.0f } {
}
void BloomApply::configure(const Config& config) {
_intensities.x = 2.0f * M_PI * config.sigma * config.sigma;
_intensities.y = _intensities.x*_intensities.x;
_intensities.z = _intensities.y*_intensities.x;
_intensities *= config.intensity / 3.0f;
_intensities.x = config.intensity / 3.0f;
_intensities.y = _intensities.x;
_intensities.z = _intensities.x;
}
void BloomApply::run(const render::RenderContextPointer& renderContext, const Inputs& inputs) {
@ -109,10 +108,10 @@ void BloomApply::run(const render::RenderContextPointer& renderContext, const In
assert(renderContext->args->hasViewFrustum());
RenderArgs* args = renderContext->args;
static auto BLUR0_SLOT = 0;
static auto BLUR1_SLOT = 1;
static auto BLUR2_SLOT = 2;
static auto INTENSITY_SLOT = 3;
static const auto BLUR0_SLOT = 0;
static const auto BLUR1_SLOT = 1;
static const auto BLUR2_SLOT = 2;
static const auto INTENSITY_SLOT = 3;
if (!_pipeline) {
auto vs = gpu::StandardShaderLib::getDrawTransformUnitQuadVS();
@ -317,7 +316,7 @@ void BloomConfig::setSize(float value) {
assert(blurJobIt != task->_jobs.end());
auto& gaussianBlur = blurJobIt->edit<render::BlurGaussian>();
auto gaussianBlurParams = gaussianBlur.getParameters();
gaussianBlurParams->setFilterGaussianTaps(5, sigma);
gaussianBlurParams->setFilterGaussianTaps(7, sigma);
}
auto blurJobIt = task->getJob("BloomApply");
assert(blurJobIt != task->_jobs.end());