From 777ca7e010f1c38eba3e23cf99c50cbff64ec6cf Mon Sep 17 00:00:00 2001 From: Olivier Prat Date: Tue, 10 Jul 2018 12:11:30 +0200 Subject: [PATCH] Using shader locations directly in ShapePipeline --- libraries/render-utils/src/FadeEffect.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/libraries/render-utils/src/FadeEffect.cpp b/libraries/render-utils/src/FadeEffect.cpp index 482b10edbf..4efdaa0bfc 100644 --- a/libraries/render-utils/src/FadeEffect.cpp +++ b/libraries/render-utils/src/FadeEffect.cpp @@ -33,15 +33,8 @@ void FadeEffect::build(render::Task::TaskConcept& task, const task::Varying& edi render::ShapePipeline::BatchSetter FadeEffect::getBatchSetter() const { return [this](const render::ShapePipeline& shapePipeline, gpu::Batch& batch, render::Args*) { - auto program = shapePipeline.pipeline->getProgram(); - auto maskMapLocation = program->getTextures().findLocation("fadeMaskMap"); - auto bufferLocation = program->getUniformBuffers().findLocation("fadeParametersBuffer"); - if (maskMapLocation != -1) { - batch.setResourceTexture(maskMapLocation, _maskMap); - } - if (bufferLocation != -1) { - batch.setUniformBuffer(bufferLocation, _configurations); - } + batch.setResourceTexture(shapePipeline.locations->fadeMaskTextureUnit, _maskMap); + batch.setUniformBuffer(shapePipeline.locations->fadeParameterBufferUnit, _configurations); }; } @@ -56,7 +49,7 @@ render::ShapePipeline::ItemSetter FadeEffect::getItemUniformSetter() const { auto objectParamBufferLocation = program->getUniformBuffers().findLocation("fadeObjectParametersBuffer"); if (objectParamBufferLocation >= 0) { - if (transitionState.paramsBuffer._size == 0) { + if (transitionState.paramsBuffer._size != sizeof(gpu::StructBuffer)) { static_assert(sizeof(transitionState.paramsBuffer) == sizeof(gpu::StructBuffer), "Assuming gpu::StructBuffer is a helper class for gpu::BufferView"); transitionState.paramsBuffer = gpu::StructBuffer(); }