Clean old DrawSceneTask

This commit is contained in:
Zach Pomerantz 2016-01-06 18:34:37 -08:00
parent 9b4a395f6b
commit f902c4078d
6 changed files with 3 additions and 112 deletions

View file

@ -24,6 +24,7 @@
#include "HitEffect.h"
#include "TextureCache.h"
#include "render/DrawTask.h"
#include "render/DrawStatus.h"
#include "AmbientOcclusionEffect.h"
#include "AntialiasingEffect.h"
@ -130,9 +131,6 @@ RenderDeferredTask::RenderDeferredTask() : Task() {
addJob("Blit", std::make_shared<Blit::JobModel>());
}
RenderDeferredTask::~RenderDeferredTask() {
}
void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
// sanity checks
assert(sceneContext);

View file

@ -12,7 +12,7 @@
#ifndef hifi_RenderDeferredTask_h
#define hifi_RenderDeferredTask_h
#include "render/DrawTask.h"
#include "render/Engine.h"
#include "gpu/Pipeline.h"
@ -101,10 +101,8 @@ class RenderDeferredTask : public render::Task {
public:
RenderDeferredTask();
~RenderDeferredTask();
~RenderDeferredTask() = default;
render::Task::Jobs _jobs;
int _drawDebugDeferredBufferIndex = -1;
int _drawStatusJobIndex = -1;
int _drawHitEffectJobIndex = -1;

View file

@ -15,34 +15,12 @@
#include <assert.h>
#include <PerfStat.h>
#include <RenderArgs.h>
#include <ViewFrustum.h>
#include <gpu/Context.h>
using namespace render;
DrawSceneTask::DrawSceneTask() : Task() {}
DrawSceneTask::~DrawSceneTask() {}
void DrawSceneTask::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
// sanity checks
assert(sceneContext);
if (!sceneContext->_scene) {
return;
}
// Is it possible that we render without a viewFrustum ?
if (!(renderContext->getArgs() && renderContext->getArgs()->_viewFrustum)) {
return;
}
for (auto job : _jobs) {
job.run(sceneContext, renderContext);
}
};
void render::cullItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
assert(renderContext->getArgs());
assert(renderContext->getArgs()->_viewFrustum);
@ -253,37 +231,3 @@ void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContext
});
args->_batch = nullptr;
}
void DrawBackground::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
assert(renderContext->getArgs());
assert(renderContext->getArgs()->_viewFrustum);
// render backgrounds
auto& scene = sceneContext->_scene;
auto& items = scene->getMasterBucket().at(ItemFilter::Builder::background());
ItemIDsBounds inItems;
inItems.reserve(items.size());
for (auto id : items) {
inItems.emplace_back(id);
}
RenderArgs* args = renderContext->getArgs();
doInBatch(args->_context, [=](gpu::Batch& batch) {
args->_batch = &batch;
batch.enableSkybox(true);
batch.setViewportTransform(args->_viewport);
batch.setStateScissorRect(args->_viewport);
glm::mat4 projMat;
Transform viewMat;
args->_viewFrustum->evalProjectionMatrix(projMat);
args->_viewFrustum->evalViewTransform(viewMat);
batch.setProjectionTransform(projMat);
batch.setViewTransform(viewMat);
renderItems(sceneContext, renderContext, inItems);
});
args->_batch = nullptr;
}

View file

@ -73,41 +73,6 @@ public:
using JobModel = Task::Job::Model<DrawLight>;
};
class DrawBackground {
public:
void run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext);
typedef Job::Model<DrawBackground> JobModel;
};
class DrawSceneTask : public Task {
public:
DrawSceneTask();
~DrawSceneTask();
Jobs _jobs;
virtual void run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext);
};
// A map of ItemIDs allowing to create bucket lists of SHAPE type items which are filtered by their
// Material
class ItemMaterialBucketMap : public std::map<model::MaterialFilter, ItemIDs, model::MaterialFilter::Less> {
public:
ItemMaterialBucketMap() {}
void insert(const ItemID& id, const model::MaterialKey& key);
// standard builders allocating the main buckets
void allocateStandardMaterialBuckets();
};
void materialSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, ItemIDsBounds& outItems);
}
#endif // hifi_render_DrawTask_h

View file

@ -11,8 +11,6 @@
#include "Engine.h"
#include "DrawTask.h"
using namespace render;
Engine::Engine() :
@ -41,12 +39,3 @@ void Engine::run() {
task->run(_sceneContext, _renderContext);
}
}
void Engine::buildStandardTaskPipeline() {
if (!_tasks.empty()) {
_tasks.clear();
}
addTask(std::make_shared<DrawSceneTask>());
}

View file

@ -38,9 +38,6 @@ public:
void run();
// standard pipeline of tasks
void buildStandardTaskPipeline();
protected:
Tasks _tasks;