mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 21:05:04 +02:00
Use new RenderContext accessors for rendering
This commit is contained in:
parent
919a4b6728
commit
cdcb2d565d
6 changed files with 37 additions and 37 deletions
|
@ -175,10 +175,10 @@ const gpu::PipelinePointer& AmbientOcclusion::getBlendPipeline() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AmbientOcclusion::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
void AmbientOcclusion::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
||||||
auto framebufferCache = DependencyManager::get<FramebufferCache>();
|
auto framebufferCache = DependencyManager::get<FramebufferCache>();
|
||||||
QSize framebufferSize = framebufferCache->getFrameBufferSize();
|
QSize framebufferSize = framebufferCache->getFrameBufferSize();
|
||||||
|
|
|
@ -93,14 +93,14 @@ const gpu::PipelinePointer& Antialiasing::getBlendPipeline() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Antialiasing::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
void Antialiasing::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
if (renderContext->args->_renderMode == RenderArgs::MIRROR_RENDER_MODE) {
|
if (renderContext->getArgs()->_renderMode == RenderArgs::MIRROR_RENDER_MODE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
||||||
batch.enableStereo(false);
|
batch.enableStereo(false);
|
||||||
|
|
||||||
|
|
|
@ -179,9 +179,9 @@ const gpu::PipelinePointer& DebugDeferredBuffer::getPipeline(Modes mode, std::st
|
||||||
|
|
||||||
|
|
||||||
void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
const RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {
|
gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {
|
||||||
const auto geometryBuffer = DependencyManager::get<GeometryCache>();
|
const auto geometryBuffer = DependencyManager::get<GeometryCache>();
|
||||||
const auto framebufferCache = DependencyManager::get<FramebufferCache>();
|
const auto framebufferCache = DependencyManager::get<FramebufferCache>();
|
||||||
|
|
|
@ -61,9 +61,9 @@ const gpu::PipelinePointer& HitEffect::getHitEffectPipeline() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HitEffect::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
void HitEffect::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
gpu::doInBatch(args->_context, [=](gpu::Batch& batch) {
|
||||||
|
|
||||||
glm::mat4 projMat;
|
glm::mat4 projMat;
|
||||||
|
|
|
@ -97,9 +97,9 @@ const gpu::TexturePointer DrawStatus::getStatusIconMap() const {
|
||||||
void DrawStatus::run(const SceneContextPointer& sceneContext,
|
void DrawStatus::run(const SceneContextPointer& sceneContext,
|
||||||
const RenderContextPointer& renderContext,
|
const RenderContextPointer& renderContext,
|
||||||
const ItemIDsBounds& inItems) {
|
const ItemIDsBounds& inItems) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
const int NUM_STATUS_VEC4_PER_ITEM = 2;
|
const int NUM_STATUS_VEC4_PER_ITEM = 2;
|
||||||
const int VEC4_LENGTH = 4;
|
const int VEC4_LENGTH = 4;
|
||||||
|
@ -179,7 +179,7 @@ void DrawStatus::run(const SceneContextPointer& sceneContext,
|
||||||
|
|
||||||
const unsigned int VEC3_ADRESS_OFFSET = 3;
|
const unsigned int VEC3_ADRESS_OFFSET = 3;
|
||||||
|
|
||||||
if ((renderContext->_drawItemStatus & showDisplayStatusFlag) > 0) {
|
if ((renderContext->getDrawStatus() & showDisplayStatusFlag) > 0) {
|
||||||
for (int i = 0; i < nbItems; i++) {
|
for (int i = 0; i < nbItems; i++) {
|
||||||
batch._glUniform3fv(_drawItemBoundPosLoc, 1, (const float*) (itemAABox + i));
|
batch._glUniform3fv(_drawItemBoundPosLoc, 1, (const float*) (itemAABox + i));
|
||||||
batch._glUniform3fv(_drawItemBoundDimLoc, 1, ((const float*) (itemAABox + i)) + VEC3_ADRESS_OFFSET);
|
batch._glUniform3fv(_drawItemBoundDimLoc, 1, ((const float*) (itemAABox + i)) + VEC3_ADRESS_OFFSET);
|
||||||
|
@ -192,7 +192,7 @@ void DrawStatus::run(const SceneContextPointer& sceneContext,
|
||||||
|
|
||||||
batch.setPipeline(getDrawItemStatusPipeline());
|
batch.setPipeline(getDrawItemStatusPipeline());
|
||||||
|
|
||||||
if ((renderContext->_drawItemStatus & showNetworkStatusFlag) > 0) {
|
if ((renderContext->getDrawStatus() & showNetworkStatusFlag) > 0) {
|
||||||
for (int i = 0; i < nbItems; i++) {
|
for (int i = 0; i < nbItems; i++) {
|
||||||
batch._glUniform3fv(_drawItemStatusPosLoc, 1, (const float*) (itemAABox + i));
|
batch._glUniform3fv(_drawItemStatusPosLoc, 1, (const float*) (itemAABox + i));
|
||||||
batch._glUniform3fv(_drawItemStatusDimLoc, 1, ((const float*) (itemAABox + i)) + VEC3_ADRESS_OFFSET);
|
batch._glUniform3fv(_drawItemStatusDimLoc, 1, ((const float*) (itemAABox + i)) + VEC3_ADRESS_OFFSET);
|
||||||
|
|
|
@ -37,7 +37,7 @@ void DrawSceneTask::run(const SceneContextPointer& sceneContext, const RenderCon
|
||||||
|
|
||||||
|
|
||||||
// Is it possible that we render without a viewFrustum ?
|
// Is it possible that we render without a viewFrustum ?
|
||||||
if (!(renderContext->args && renderContext->args->_viewFrustum)) {
|
if (!(renderContext->getArgs() && renderContext->getArgs()->_viewFrustum)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,11 +54,11 @@ Job::~Job() {
|
||||||
|
|
||||||
|
|
||||||
void render::cullItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
|
void render::cullItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
auto renderDetails = renderContext->args->_details._item;
|
auto renderDetails = renderContext->getArgs()->_details._item;
|
||||||
|
|
||||||
renderDetails->_considered += inItems.size();
|
renderDetails->_considered += inItems.size();
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ void CullItems::run(const SceneContextPointer& sceneContext, const RenderContext
|
||||||
|
|
||||||
outItems.clear();
|
outItems.clear();
|
||||||
outItems.reserve(inItems.size());
|
outItems.reserve(inItems.size());
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
args->_details.pointTo(RenderDetails::OTHER_ITEM);
|
args->_details.pointTo(RenderDetails::OTHER_ITEM);
|
||||||
cullItems(sceneContext, renderContext, inItems, outItems);
|
cullItems(sceneContext, renderContext, inItems, outItems);
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ void CullItemsOpaque::run(const SceneContextPointer& sceneContext, const RenderC
|
||||||
|
|
||||||
outItems.clear();
|
outItems.clear();
|
||||||
outItems.reserve(inItems.size());
|
outItems.reserve(inItems.size());
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
args->_details.pointTo(RenderDetails::OPAQUE_ITEM);
|
args->_details.pointTo(RenderDetails::OPAQUE_ITEM);
|
||||||
cullItems(sceneContext, renderContext, inItems, outItems);
|
cullItems(sceneContext, renderContext, inItems, outItems);
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ void CullItemsTransparent::run(const SceneContextPointer& sceneContext, const Re
|
||||||
|
|
||||||
outItems.clear();
|
outItems.clear();
|
||||||
outItems.reserve(inItems.size());
|
outItems.reserve(inItems.size());
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
args->_details.pointTo(RenderDetails::TRANSLUCENT_ITEM);
|
args->_details.pointTo(RenderDetails::TRANSLUCENT_ITEM);
|
||||||
cullItems(sceneContext, renderContext, inItems, outItems);
|
cullItems(sceneContext, renderContext, inItems, outItems);
|
||||||
}
|
}
|
||||||
|
@ -163,11 +163,11 @@ struct BackToFrontSort {
|
||||||
};
|
};
|
||||||
|
|
||||||
void render::depthSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, bool frontToBack, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
|
void render::depthSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, bool frontToBack, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
|
|
||||||
|
|
||||||
// Allocate and simply copy
|
// Allocate and simply copy
|
||||||
|
@ -211,7 +211,7 @@ void DepthSortItems::run(const SceneContextPointer& sceneContext, const RenderCo
|
||||||
|
|
||||||
void render::renderItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, int maxDrawnItems) {
|
void render::renderItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, int maxDrawnItems) {
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
// render
|
// render
|
||||||
if ((maxDrawnItems < 0) || (maxDrawnItems > (int) inItems.size())) {
|
if ((maxDrawnItems < 0) || (maxDrawnItems > (int) inItems.size())) {
|
||||||
for (auto itemDetails : inItems) {
|
for (auto itemDetails : inItems) {
|
||||||
|
@ -236,8 +236,8 @@ void render::renderItems(const SceneContextPointer& sceneContext, const RenderCo
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
// render lights
|
// render lights
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
|
@ -253,7 +253,7 @@ void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContext
|
||||||
|
|
||||||
ItemIDsBounds culledItems;
|
ItemIDsBounds culledItems;
|
||||||
culledItems.reserve(inItems.size());
|
culledItems.reserve(inItems.size());
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
args->_details.pointTo(RenderDetails::OTHER_ITEM);
|
args->_details.pointTo(RenderDetails::OTHER_ITEM);
|
||||||
cullItems(sceneContext, renderContext, inItems, culledItems);
|
cullItems(sceneContext, renderContext, inItems, culledItems);
|
||||||
|
|
||||||
|
@ -265,8 +265,8 @@ void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContext
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawBackground::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
void DrawBackground::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {
|
||||||
assert(renderContext->args);
|
assert(renderContext->getArgs());
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->getArgs()->_viewFrustum);
|
||||||
|
|
||||||
// render backgrounds
|
// render backgrounds
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
|
@ -278,7 +278,7 @@ void DrawBackground::run(const SceneContextPointer& sceneContext, const RenderCo
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.emplace_back(id);
|
inItems.emplace_back(id);
|
||||||
}
|
}
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->getArgs();
|
||||||
doInBatch(args->_context, [=](gpu::Batch& batch) {
|
doInBatch(args->_context, [=](gpu::Batch& batch) {
|
||||||
args->_batch = &batch;
|
args->_batch = &batch;
|
||||||
batch.enableSkybox(true);
|
batch.enableSkybox(true);
|
||||||
|
|
Loading…
Reference in a new issue