mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-06-25 04:58:46 +02:00
tuesday morning rendering poor performances networking issue
This commit is contained in:
parent
cd7914ad9d
commit
ef2d8a0dbe
3 changed files with 28 additions and 21 deletions
|
@ -3464,6 +3464,26 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!billboard) {
|
||||||
|
DependencyManager::get<DeferredLightingEffect>()->setAmbientLightMode(getRenderAmbientLight());
|
||||||
|
auto skyStage = DependencyManager::get<SceneScriptingInterface>()->getSkyStage();
|
||||||
|
DependencyManager::get<DeferredLightingEffect>()->setGlobalLight(skyStage->getSunLight()->getDirection(), skyStage->getSunLight()->getColor(), skyStage->getSunLight()->getIntensity(), skyStage->getSunLight()->getAmbientIntensity());
|
||||||
|
DependencyManager::get<DeferredLightingEffect>()->setGlobalAtmosphere(skyStage->getAtmosphere());
|
||||||
|
|
||||||
|
auto skybox = model::SkyboxPointer();
|
||||||
|
if (skyStage->getBackgroundMode() == model::SunSkyStage::SKY_BOX) {
|
||||||
|
skybox = skyStage->getSkybox();
|
||||||
|
}
|
||||||
|
DependencyManager::get<DeferredLightingEffect>()->setGlobalSkybox(skybox);
|
||||||
|
|
||||||
|
// Not needed anymore here, taken care off by the Engine
|
||||||
|
/*
|
||||||
|
PROFILE_RANGE("DeferredLighting");
|
||||||
|
PerformanceTimer perfTimer("lighting");
|
||||||
|
DependencyManager::get<DeferredLightingEffect>()->render();*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
PerformanceTimer perfTimer("SceneProcessPendingChanges");
|
PerformanceTimer perfTimer("SceneProcessPendingChanges");
|
||||||
_main3DScene->enqueuePendingChanges(pendingChanges);
|
_main3DScene->enqueuePendingChanges(pendingChanges);
|
||||||
|
@ -3489,25 +3509,6 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!billboard) {
|
|
||||||
DependencyManager::get<DeferredLightingEffect>()->setAmbientLightMode(getRenderAmbientLight());
|
|
||||||
auto skyStage = DependencyManager::get<SceneScriptingInterface>()->getSkyStage();
|
|
||||||
DependencyManager::get<DeferredLightingEffect>()->setGlobalLight(skyStage->getSunLight()->getDirection(), skyStage->getSunLight()->getColor(), skyStage->getSunLight()->getIntensity(), skyStage->getSunLight()->getAmbientIntensity());
|
|
||||||
DependencyManager::get<DeferredLightingEffect>()->setGlobalAtmosphere(skyStage->getAtmosphere());
|
|
||||||
|
|
||||||
auto skybox = model::SkyboxPointer();
|
|
||||||
if (skyStage->getBackgroundMode() == model::SunSkyStage::SKY_BOX) {
|
|
||||||
skybox = skyStage->getSkybox();
|
|
||||||
}
|
|
||||||
DependencyManager::get<DeferredLightingEffect>()->setGlobalSkybox(skybox);
|
|
||||||
|
|
||||||
// Not needed anymore here, taken care off by the Engine
|
|
||||||
/*
|
|
||||||
PROFILE_RANGE("DeferredLighting");
|
|
||||||
PerformanceTimer perfTimer("lighting");
|
|
||||||
DependencyManager::get<DeferredLightingEffect>()->render();*/
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Render the sixense lasers
|
//Render the sixense lasers
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
|
||||||
|
|
|
@ -2313,7 +2313,7 @@ void Model::renderPart(RenderArgs* args, int meshIndex, int partIndex, bool tran
|
||||||
model::MaterialPointer material = part._material;
|
model::MaterialPointer material = part._material;
|
||||||
|
|
||||||
if (material == nullptr) {
|
if (material == nullptr) {
|
||||||
qCDebug(renderutils) << "WARNING: material == nullptr!!!";
|
// qCDebug(renderutils) << "WARNING: material == nullptr!!!";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (material != nullptr) {
|
if (material != nullptr) {
|
||||||
|
|
|
@ -94,6 +94,7 @@ bool LODManager::shouldRenderMesh(float largestDimension, float distanceToCamera
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
void render::cullItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDs& inItems, ItemIDs& outItems) {
|
void render::cullItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDs& inItems, ItemIDs& outItems) {
|
||||||
|
PerformanceTimer perfTimer("cullItems");
|
||||||
assert(renderContext->args);
|
assert(renderContext->args);
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->args->_viewFrustum);
|
||||||
|
|
||||||
|
@ -156,6 +157,7 @@ struct BackToFrontSort {
|
||||||
};
|
};
|
||||||
|
|
||||||
void render::depthSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, bool frontToBack, const ItemIDs& inItems, ItemIDs& outItems) {
|
void render::depthSortItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, bool frontToBack, const ItemIDs& inItems, ItemIDs& outItems) {
|
||||||
|
PerformanceTimer perfTimer("depthSortItems");
|
||||||
assert(renderContext->args);
|
assert(renderContext->args);
|
||||||
assert(renderContext->args->_viewFrustum);
|
assert(renderContext->args->_viewFrustum);
|
||||||
|
|
||||||
|
@ -194,6 +196,7 @@ void render::depthSortItems(const SceneContextPointer& sceneContext, const Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
void render::renderItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDs& inItems) {
|
void render::renderItems(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDs& inItems) {
|
||||||
|
PerformanceTimer perfTimer("renderItems");
|
||||||
auto& scene = sceneContext->_scene;
|
auto& scene = sceneContext->_scene;
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->args;
|
||||||
// render
|
// render
|
||||||
|
@ -300,7 +303,7 @@ template <> void render::jobRun(const DrawTransparent& job, const SceneContextPo
|
||||||
ItemIDs inItems;
|
ItemIDs inItems;
|
||||||
inItems.reserve(items.size());
|
inItems.reserve(items.size());
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.push_back(id);
|
// inItems.push_back(id);
|
||||||
}
|
}
|
||||||
ItemIDs& renderedItems = inItems;
|
ItemIDs& renderedItems = inItems;
|
||||||
|
|
||||||
|
@ -397,4 +400,7 @@ template <> void render::jobRun(const DrawBackground& job, const SceneContextPoi
|
||||||
renderItems(sceneContext, renderContext, inItems);
|
renderItems(sceneContext, renderContext, inItems);
|
||||||
args->_context->render((*args->_batch));
|
args->_context->render((*args->_batch));
|
||||||
args->_batch = nullptr;
|
args->_batch = nullptr;
|
||||||
|
|
||||||
|
// Force the context sync
|
||||||
|
args->_context->syncCache();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue