make sure FadeEffect dependency is created early

This commit is contained in:
SamGondelman 2017-09-27 11:57:20 -07:00
parent 49512c95d7
commit 553829f7ab
4 changed files with 10 additions and 9 deletions

View file

@ -198,6 +198,8 @@
#include <raypick/RayPickScriptingInterface.h> #include <raypick/RayPickScriptingInterface.h>
#include <raypick/LaserPointerScriptingInterface.h> #include <raypick/LaserPointerScriptingInterface.h>
#include <FadeEffect.h>
#include "commerce/Ledger.h" #include "commerce/Ledger.h"
#include "commerce/Wallet.h" #include "commerce/Wallet.h"
#include "commerce/QmlCommerce.h" #include "commerce/QmlCommerce.h"
@ -682,6 +684,8 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
DependencyManager::set<Ledger>(); DependencyManager::set<Ledger>();
DependencyManager::set<Wallet>(); DependencyManager::set<Wallet>();
DependencyManager::set<FadeEffect>();
DependencyManager::set<LaserPointerScriptingInterface>(); DependencyManager::set<LaserPointerScriptingInterface>();
DependencyManager::set<RayPickScriptingInterface>(); DependencyManager::set<RayPickScriptingInterface>();

View file

@ -16,7 +16,8 @@
#include <PathUtils.h> #include <PathUtils.h>
FadeEffect::FadeEffect() { FadeEffect::FadeEffect() {
auto texturePath = PathUtils::resourcesPath() + "images/fadeMask.png";
_maskMap = DependencyManager::get<TextureCache>()->getImageTexture(texturePath, image::TextureUsage::STRICT_TEXTURE);
} }
void FadeEffect::build(render::Task::TaskConcept& task, const task::Varying& editableItems) { void FadeEffect::build(render::Task::TaskConcept& task, const task::Varying& editableItems) {
@ -28,15 +29,11 @@ void FadeEffect::build(render::Task::TaskConcept& task, const task::Varying& edi
task.addJob<FadeEditJob>("FadeEdit", fadeEditInput); task.addJob<FadeEditJob>("FadeEdit", fadeEditInput);
} }
render::ShapePipeline::BatchSetter FadeEffect::getBatchSetter() { render::ShapePipeline::BatchSetter FadeEffect::getBatchSetter() const {
return [this](const render::ShapePipeline& shapePipeline, gpu::Batch& batch, render::Args*) { return [this](const render::ShapePipeline& shapePipeline, gpu::Batch& batch, render::Args*) {
auto program = shapePipeline.pipeline->getProgram(); auto program = shapePipeline.pipeline->getProgram();
auto maskMapLocation = program->getTextures().findLocation("fadeMaskMap"); auto maskMapLocation = program->getTextures().findLocation("fadeMaskMap");
auto bufferLocation = program->getUniformBuffers().findLocation("fadeParametersBuffer"); auto bufferLocation = program->getUniformBuffers().findLocation("fadeParametersBuffer");
if (!_maskMap) {
auto texturePath = PathUtils::resourcesPath() + "images/fadeMask.png";
_maskMap = DependencyManager::get<TextureCache>()->getImageTexture(texturePath, image::TextureUsage::STRICT_TEXTURE);
}
batch.setResourceTexture(maskMapLocation, _maskMap); batch.setResourceTexture(maskMapLocation, _maskMap);
batch.setUniformBuffer(bufferLocation, _configurations); batch.setUniformBuffer(bufferLocation, _configurations);
}; };

View file

@ -21,7 +21,7 @@ public:
void build(render::Task::TaskConcept& task, const task::Varying& editableItems); void build(render::Task::TaskConcept& task, const task::Varying& editableItems);
render::ShapePipeline::BatchSetter getBatchSetter(); render::ShapePipeline::BatchSetter getBatchSetter() const;
render::ShapePipeline::ItemSetter getItemUniformSetter() const; render::ShapePipeline::ItemSetter getItemUniformSetter() const;
render::ShapePipeline::ItemSetter getItemStoredSetter(); render::ShapePipeline::ItemSetter getItemStoredSetter();

View file

@ -49,8 +49,8 @@ using namespace render;
extern void initOverlay3DPipelines(render::ShapePlumber& plumber, bool depthTest = false); extern void initOverlay3DPipelines(render::ShapePlumber& plumber, bool depthTest = false);
extern void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePipeline::BatchSetter& batchSetter, const render::ShapePipeline::ItemSetter& itemSetter); extern void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePipeline::BatchSetter& batchSetter, const render::ShapePipeline::ItemSetter& itemSetter);
RenderDeferredTask::RenderDeferredTask() { RenderDeferredTask::RenderDeferredTask()
DependencyManager::set<FadeEffect>(); {
} }
void RenderDeferredTask::configure(const Config& config) void RenderDeferredTask::configure(const Config& config)