History

Mergin yellow with the Status bar rendering into Daft cwith the switch to batch for deferred pass

samcake committed 11 years ago

Commit 84b70fb2 parents 49abbe2 e3c06a3198 files · +4930 −3673Browse files

Showing the changes to libraries/render-utils/src/RenderDeferredTask.cpp (1 of 198 files). Show all

Unified · Split

libraries/render-utils/src/RenderDeferredTask.cpp+11−0
@@ -17,6 +17,8 @@ · 16 unmodified lines
17#include "RenderArgs.h"17#include "RenderArgs.h"
18#include "TextureCache.h"18#include "TextureCache.h"
19 19
20#include "render/DrawStatus.h"
21
20#include <PerfStat.h>22#include <PerfStat.h>
21 23
22#include "overlay3D_vert.h"24#include "overlay3D_vert.h"
@@ -50,6 +52,7 @@ RenderDeferredTask::RenderDeferredTask() : Task() { · 27 unmodified lines
50 )));52 )));
51 _jobs.push_back(Job(new CullItems::JobModel("CullOpaque", _jobs.back().getOutput())));53 _jobs.push_back(Job(new CullItems::JobModel("CullOpaque", _jobs.back().getOutput())));
52 _jobs.push_back(Job(new DepthSortItems::JobModel("DepthSortOpaque", _jobs.back().getOutput())));54 _jobs.push_back(Job(new DepthSortItems::JobModel("DepthSortOpaque", _jobs.back().getOutput())));
55 auto& renderedOpaques = _jobs.back().getOutput();
53 _jobs.push_back(Job(new DrawOpaqueDeferred::JobModel("DrawOpaqueDeferred", _jobs.back().getOutput())));56 _jobs.push_back(Job(new DrawOpaqueDeferred::JobModel("DrawOpaqueDeferred", _jobs.back().getOutput())));
54 _jobs.push_back(Job(new DrawLight::JobModel("DrawLight")));57 _jobs.push_back(Job(new DrawLight::JobModel("DrawLight")));
55 _jobs.push_back(Job(new ResetGLState::JobModel()));58 _jobs.push_back(Job(new ResetGLState::JobModel()));
@@ -66,6 +69,11 @@ RenderDeferredTask::RenderDeferredTask() : Task() { · 10 unmodified lines
66 _jobs.push_back(Job(new CullItems::JobModel("CullTransparent", _jobs.back().getOutput())));69 _jobs.push_back(Job(new CullItems::JobModel("CullTransparent", _jobs.back().getOutput())));
67 _jobs.push_back(Job(new DepthSortItems::JobModel("DepthSortTransparent", _jobs.back().getOutput(), DepthSortItems(false))));70 _jobs.push_back(Job(new DepthSortItems::JobModel("DepthSortTransparent", _jobs.back().getOutput(), DepthSortItems(false))));
68 _jobs.push_back(Job(new DrawTransparentDeferred::JobModel("TransparentDeferred", _jobs.back().getOutput())));71 _jobs.push_back(Job(new DrawTransparentDeferred::JobModel("TransparentDeferred", _jobs.back().getOutput())));
72
73 _jobs.push_back(Job(new render::DrawStatus::JobModel("DrawStatus", renderedOpaques)));
74 _jobs.back().setEnabled(false);
75 _drawStatusJobIndex = _jobs.size() - 1;
76
69 _jobs.push_back(Job(new DrawOverlay3D::JobModel("DrawOverlay3D")));77 _jobs.push_back(Job(new DrawOverlay3D::JobModel("DrawOverlay3D")));
70 _jobs.push_back(Job(new ResetGLState::JobModel()));78 _jobs.push_back(Job(new ResetGLState::JobModel()));
71}79}
@@ -86,6 +94,9 @@ void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const Rend · 14 unmodified lines
86 return;94 return;
87 }95 }
88 96
97 // Make sure we turn the displayItemStatus on/off
98 setDrawItemStatus(renderContext->_drawItemStatus);
99
89 renderContext->args->_context->syncCache();100 renderContext->args->_context->syncCache();
90 101
91 for (auto job : _jobs) {102 for (auto job : _jobs) {