mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 09:29:02 +02:00
cleaning the commented code
This commit is contained in:
parent
575d4abdf7
commit
3eb95d2d19
6 changed files with 21 additions and 347 deletions
|
@ -4874,12 +4874,6 @@ QRect Application::getDesirableApplicationGeometry() const {
|
||||||
return applicationGeometry;
|
return applicationGeometry;
|
||||||
}
|
}
|
||||||
|
|
||||||
glm::vec3 Application::getSunDirection() const {
|
|
||||||
// Sun direction is in fact just the location of the sun relative to the origin
|
|
||||||
auto skyStage = DependencyManager::get<SceneScriptingInterface>()->getSkyStage();
|
|
||||||
return skyStage->getSunLight()->getDirection();
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME, preprocessor guard this check to occur only in DEBUG builds
|
// FIXME, preprocessor guard this check to occur only in DEBUG builds
|
||||||
static QThread * activeRenderingThread = nullptr;
|
static QThread * activeRenderingThread = nullptr;
|
||||||
|
|
||||||
|
@ -4946,90 +4940,6 @@ namespace render {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Background Render Data & rendering functions
|
|
||||||
class BackgroundRenderData {
|
|
||||||
public:
|
|
||||||
typedef render::Payload<BackgroundRenderData> Payload;
|
|
||||||
typedef Payload::DataPointer Pointer;
|
|
||||||
|
|
||||||
static render::ItemID _item; // unique WorldBoxRenderData
|
|
||||||
};
|
|
||||||
|
|
||||||
render::ItemID BackgroundRenderData::_item = 0;
|
|
||||||
|
|
||||||
namespace render {
|
|
||||||
template <> const ItemKey payloadGetKey(const BackgroundRenderData::Pointer& stuff) {
|
|
||||||
return ItemKey::Builder::background();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <> const Item::Bound payloadGetBound(const BackgroundRenderData::Pointer& stuff) {
|
|
||||||
return Item::Bound();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <> void payloadRender(const BackgroundRenderData::Pointer& background, RenderArgs* args) {
|
|
||||||
Q_ASSERT(args->_batch);
|
|
||||||
gpu::Batch& batch = *args->_batch;
|
|
||||||
|
|
||||||
// Background rendering decision
|
|
||||||
auto skyStage = DependencyManager::get<SceneScriptingInterface>()->getSkyStage();
|
|
||||||
auto backgroundMode = skyStage->getBackgroundMode();
|
|
||||||
|
|
||||||
switch (backgroundMode) {
|
|
||||||
case model::SunSkyStage::SKY_DEFAULT: {
|
|
||||||
auto scene = DependencyManager::get<SceneScriptingInterface>()->getStage();
|
|
||||||
auto sceneKeyLight = scene->getKeyLight();
|
|
||||||
|
|
||||||
scene->setSunModelEnable(false);
|
|
||||||
sceneKeyLight->setColor(ColorUtils::toVec3(KeyLightPropertyGroup::DEFAULT_KEYLIGHT_COLOR));
|
|
||||||
sceneKeyLight->setIntensity(KeyLightPropertyGroup::DEFAULT_KEYLIGHT_INTENSITY);
|
|
||||||
sceneKeyLight->setAmbientIntensity(KeyLightPropertyGroup::DEFAULT_KEYLIGHT_AMBIENT_INTENSITY);
|
|
||||||
sceneKeyLight->setDirection(KeyLightPropertyGroup::DEFAULT_KEYLIGHT_DIRECTION);
|
|
||||||
// fall through: render a skybox (if available), or the defaults (if requested)
|
|
||||||
}
|
|
||||||
|
|
||||||
case model::SunSkyStage::SKY_BOX: {
|
|
||||||
auto skybox = skyStage->getSkybox();
|
|
||||||
if (!skybox->empty()) {
|
|
||||||
PerformanceTimer perfTimer("skybox");
|
|
||||||
skybox->render(batch, args->getViewFrustum());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// fall through: render defaults (if requested)
|
|
||||||
}
|
|
||||||
|
|
||||||
case model::SunSkyStage::SKY_DEFAULT_AMBIENT_TEXTURE: {
|
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::DefaultSkybox)) {
|
|
||||||
auto scene = DependencyManager::get<SceneScriptingInterface>()->getStage();
|
|
||||||
auto sceneKeyLight = scene->getKeyLight();
|
|
||||||
auto defaultSkyboxAmbientTexture = qApp->getDefaultSkyboxAmbientTexture();
|
|
||||||
if (defaultSkyboxAmbientTexture) {
|
|
||||||
sceneKeyLight->setAmbientSphere(defaultSkyboxAmbientTexture->getIrradiance());
|
|
||||||
sceneKeyLight->setAmbientMap(defaultSkyboxAmbientTexture);
|
|
||||||
} else {
|
|
||||||
static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(
|
|
||||||
"Failed to get a valid Default Skybox Ambient Texture ? probably because it couldn't be find during initialization step");
|
|
||||||
}
|
|
||||||
// fall through: render defaults skybox
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case model::SunSkyStage::SKY_DEFAULT_TEXTURE:
|
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::DefaultSkybox)) {
|
|
||||||
qApp->getDefaultSkybox()->render(batch, args->getViewFrustum());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// Any other cases require no extra rendering
|
|
||||||
case model::SunSkyStage::NO_BACKGROUND:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool selfAvatarOnly) {
|
void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool selfAvatarOnly) {
|
||||||
|
|
||||||
// FIXME: This preDisplayRender call is temporary until we create a separate render::scene for the mirror rendering.
|
// FIXME: This preDisplayRender call is temporary until we create a separate render::scene for the mirror rendering.
|
||||||
|
@ -5053,15 +4963,6 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se
|
||||||
// The pending changes collecting the changes here
|
// The pending changes collecting the changes here
|
||||||
render::Transaction transaction;
|
render::Transaction transaction;
|
||||||
|
|
||||||
// FIXME: Move this out of here!, Background / skybox should be driven by the enityt content just like the other entities
|
|
||||||
// Background rendering decision
|
|
||||||
if (!render::Item::isValidID(BackgroundRenderData::_item)) {
|
|
||||||
auto backgroundRenderData = make_shared<BackgroundRenderData>();
|
|
||||||
auto backgroundRenderPayload = make_shared<BackgroundRenderData::Payload>(backgroundRenderData);
|
|
||||||
BackgroundRenderData::_item = _main3DScene->allocateID();
|
|
||||||
transaction.resetItem(BackgroundRenderData::_item, backgroundRenderPayload);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Assuming nothing gets rendered through that
|
// Assuming nothing gets rendered through that
|
||||||
if (!selfAvatarOnly) {
|
if (!selfAvatarOnly) {
|
||||||
if (DependencyManager::get<SceneScriptingInterface>()->shouldRenderEntities()) {
|
if (DependencyManager::get<SceneScriptingInterface>()->shouldRenderEntities()) {
|
||||||
|
|
|
@ -460,8 +460,6 @@ private:
|
||||||
|
|
||||||
void queryOctree(NodeType_t serverType, PacketType packetType, NodeToJurisdictionMap& jurisdictions, bool forceResend = false);
|
void queryOctree(NodeType_t serverType, PacketType packetType, NodeToJurisdictionMap& jurisdictions, bool forceResend = false);
|
||||||
|
|
||||||
glm::vec3 getSunDirection() const;
|
|
||||||
|
|
||||||
void renderRearViewMirror(RenderArgs* renderArgs, const QRect& region, bool isZoomed);
|
void renderRearViewMirror(RenderArgs* renderArgs, const QRect& region, bool isZoomed);
|
||||||
|
|
||||||
int sendNackPackets();
|
int sendNackPackets();
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include <PerfStat.h>
|
#include <PerfStat.h>
|
||||||
#include <SceneScriptingInterface.h>
|
#include <SceneScriptingInterface.h>
|
||||||
#include <ScriptEngine.h>
|
#include <ScriptEngine.h>
|
||||||
#include <procedural/ProceduralSkybox.h>
|
|
||||||
|
|
||||||
#include "EntityTreeRenderer.h"
|
#include "EntityTreeRenderer.h"
|
||||||
|
|
||||||
|
@ -141,7 +140,6 @@ void EntityTreeRenderer::clear() {
|
||||||
|
|
||||||
// reset the zone to the default (while we load the next scene)
|
// reset the zone to the default (while we load the next scene)
|
||||||
_layeredZones.clear();
|
_layeredZones.clear();
|
||||||
// applyZoneAndHasSkybox(nullptr);
|
|
||||||
|
|
||||||
OctreeRenderer::clear();
|
OctreeRenderer::clear();
|
||||||
}
|
}
|
||||||
|
@ -196,14 +194,6 @@ void EntityTreeRenderer::update() {
|
||||||
// Handle enter/leave entity logic
|
// Handle enter/leave entity logic
|
||||||
bool updated = checkEnterLeaveEntities();
|
bool updated = checkEnterLeaveEntities();
|
||||||
|
|
||||||
// If we haven't already updated and previously attempted to load a texture,
|
|
||||||
// check if the texture loaded and apply it
|
|
||||||
/* if (!updated &&
|
|
||||||
((_pendingAmbientTexture && (!_ambientTexture || _ambientTexture->isLoaded())) ||
|
|
||||||
(_pendingSkyboxTexture && (!_skyboxTexture || _skyboxTexture->isLoaded())))) {
|
|
||||||
applySkyboxAndHasAmbient();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Even if we're not moving the mouse, if we started clicking on an entity and we have
|
// Even if we're not moving the mouse, if we started clicking on an entity and we have
|
||||||
// not yet released the hold then this is still considered a holdingClickOnEntity event
|
// not yet released the hold then this is still considered a holdingClickOnEntity event
|
||||||
// and we want to simulate this message here as well as in mouse move
|
// and we want to simulate this message here as well as in mouse move
|
||||||
|
@ -371,176 +361,6 @@ bool EntityTreeRenderer::applyLayeredZones() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
bool EntityTreeRenderer::applyZoneAndHasSkybox(const std::shared_ptr<ZoneEntityItem>& zone) {
|
|
||||||
auto textureCache = DependencyManager::get<TextureCache>();
|
|
||||||
auto scene = DependencyManager::get<SceneScriptingInterface>();
|
|
||||||
auto sceneStage = scene->getStage();
|
|
||||||
auto skyStage = scene->getSkyStage();
|
|
||||||
auto sceneKeyLight = sceneStage->getKeyLight();
|
|
||||||
|
|
||||||
// If there is no zone, use the default background
|
|
||||||
if (!zone) {
|
|
||||||
_zoneUserData = QString();
|
|
||||||
skyStage->getSkybox()->clear();
|
|
||||||
|
|
||||||
_pendingSkyboxTexture = false;
|
|
||||||
_skyboxTexture.clear();
|
|
||||||
|
|
||||||
_pendingAmbientTexture = false;
|
|
||||||
_ambientTexture.clear();
|
|
||||||
|
|
||||||
sceneKeyLight->resetAmbientSphere();
|
|
||||||
sceneKeyLight->setAmbientMap(nullptr);
|
|
||||||
|
|
||||||
skyStage->setBackgroundMode(model::SunSkyStage::SKY_DEFAULT);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the keylight
|
|
||||||
sceneKeyLight->setColor(ColorUtils::toVec3(zone->getKeyLightProperties().getColor()));
|
|
||||||
sceneKeyLight->setIntensity(zone->getKeyLightProperties().getIntensity());
|
|
||||||
sceneKeyLight->setAmbientIntensity(zone->getKeyLightProperties().getAmbientIntensity());
|
|
||||||
sceneKeyLight->setDirection(zone->getKeyLightProperties().getDirection());
|
|
||||||
|
|
||||||
// Set the stage
|
|
||||||
bool isSunModelEnabled = zone->getStageProperties().getSunModelEnabled();
|
|
||||||
sceneStage->setSunModelEnable(isSunModelEnabled);
|
|
||||||
if (isSunModelEnabled) {
|
|
||||||
sceneStage->setLocation(zone->getStageProperties().getLongitude(),
|
|
||||||
zone->getStageProperties().getLatitude(),
|
|
||||||
zone->getStageProperties().getAltitude());
|
|
||||||
|
|
||||||
auto sceneTime = sceneStage->getTime();
|
|
||||||
sceneTime->setHour(zone->getStageProperties().calculateHour());
|
|
||||||
sceneTime->setDay(zone->getStageProperties().calculateDay());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the ambient texture
|
|
||||||
_ambientTextureURL = zone->getKeyLightProperties().getAmbientURL();
|
|
||||||
if (_ambientTextureURL.isEmpty()) {
|
|
||||||
_pendingAmbientTexture = false;
|
|
||||||
_ambientTexture.clear();
|
|
||||||
} else {
|
|
||||||
_pendingAmbientTexture = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the skybox texture
|
|
||||||
return layerZoneAndHasSkybox(zone);
|
|
||||||
}*/
|
|
||||||
/*
|
|
||||||
bool EntityTreeRenderer::layerZoneAndHasSkybox(const std::shared_ptr<ZoneEntityItem>& zone) {
|
|
||||||
assert(zone);
|
|
||||||
|
|
||||||
auto textureCache = DependencyManager::get<TextureCache>();
|
|
||||||
auto scene = DependencyManager::get<SceneScriptingInterface>();
|
|
||||||
auto skyStage = scene->getSkyStage();
|
|
||||||
auto skybox = skyStage->getSkybox();
|
|
||||||
|
|
||||||
bool hasSkybox = false;
|
|
||||||
|
|
||||||
switch (zone->getBackgroundMode()) {
|
|
||||||
case BACKGROUND_MODE_SKYBOX:
|
|
||||||
hasSkybox = true;
|
|
||||||
|
|
||||||
skybox->setColor(zone->getSkyboxProperties().getColorVec3());
|
|
||||||
|
|
||||||
if (_zoneUserData != zone->getUserData()) {
|
|
||||||
_zoneUserData = zone->getUserData();
|
|
||||||
std::dynamic_pointer_cast<ProceduralSkybox>(skybox)->parse(_zoneUserData);
|
|
||||||
}
|
|
||||||
|
|
||||||
_skyboxTextureURL = zone->getSkyboxProperties().getURL();
|
|
||||||
if (_skyboxTextureURL.isEmpty()) {
|
|
||||||
_pendingSkyboxTexture = false;
|
|
||||||
_skyboxTexture.clear();
|
|
||||||
} else {
|
|
||||||
_pendingSkyboxTexture = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
applySkyboxAndHasAmbient();
|
|
||||||
skyStage->setBackgroundMode(model::SunSkyStage::SKY_BOX);
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BACKGROUND_MODE_INHERIT:
|
|
||||||
default:
|
|
||||||
// Clear the skybox to release its textures
|
|
||||||
skybox->clear();
|
|
||||||
_zoneUserData = QString();
|
|
||||||
|
|
||||||
_pendingSkyboxTexture = false;
|
|
||||||
_skyboxTexture.clear();
|
|
||||||
|
|
||||||
// Let the application background through
|
|
||||||
if (applySkyboxAndHasAmbient()) {
|
|
||||||
skyStage->setBackgroundMode(model::SunSkyStage::SKY_DEFAULT_TEXTURE);
|
|
||||||
} else {
|
|
||||||
skyStage->setBackgroundMode(model::SunSkyStage::SKY_DEFAULT_AMBIENT_TEXTURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return hasSkybox;
|
|
||||||
}*/
|
|
||||||
/*
|
|
||||||
bool EntityTreeRenderer::applySkyboxAndHasAmbient() {
|
|
||||||
auto textureCache = DependencyManager::get<TextureCache>();
|
|
||||||
auto scene = DependencyManager::get<SceneScriptingInterface>();
|
|
||||||
auto sceneStage = scene->getStage();
|
|
||||||
auto skyStage = scene->getSkyStage();
|
|
||||||
auto sceneKeyLight = sceneStage->getKeyLight();
|
|
||||||
auto skybox = skyStage->getSkybox();
|
|
||||||
|
|
||||||
bool isAmbientSet = false;
|
|
||||||
if (_pendingAmbientTexture && !_ambientTexture) {
|
|
||||||
_ambientTexture = textureCache->getTexture(_ambientTextureURL, image::TextureUsage::CUBE_TEXTURE);
|
|
||||||
}
|
|
||||||
if (_ambientTexture && _ambientTexture->isLoaded()) {
|
|
||||||
_pendingAmbientTexture = false;
|
|
||||||
|
|
||||||
auto texture = _ambientTexture->getGPUTexture();
|
|
||||||
if (texture) {
|
|
||||||
isAmbientSet = true;
|
|
||||||
sceneKeyLight->setAmbientSphere(texture->getIrradiance());
|
|
||||||
sceneKeyLight->setAmbientMap(texture);
|
|
||||||
} else {
|
|
||||||
qCDebug(entitiesrenderer) << "Failed to load ambient texture:" << _ambientTexture->getURL();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_pendingSkyboxTexture &&
|
|
||||||
(!_skyboxTexture || (_skyboxTexture->getURL() != _skyboxTextureURL))) {
|
|
||||||
_skyboxTexture = textureCache->getTexture(_skyboxTextureURL, image::TextureUsage::CUBE_TEXTURE);
|
|
||||||
}
|
|
||||||
if (_skyboxTexture && _skyboxTexture->isLoaded()) {
|
|
||||||
_pendingSkyboxTexture = false;
|
|
||||||
|
|
||||||
auto texture = _skyboxTexture->getGPUTexture();
|
|
||||||
if (texture) {
|
|
||||||
skybox->setCubemap(texture);
|
|
||||||
if (!isAmbientSet) {
|
|
||||||
sceneKeyLight->setAmbientSphere(texture->getIrradiance());
|
|
||||||
sceneKeyLight->setAmbientMap(texture);
|
|
||||||
isAmbientSet = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
qCDebug(entitiesrenderer) << "Failed to load skybox texture:" << _skyboxTexture->getURL();
|
|
||||||
skybox->setCubemap(nullptr);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
skybox->setCubemap(nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isAmbientSet) {
|
|
||||||
sceneKeyLight->resetAmbientSphere();
|
|
||||||
sceneKeyLight->setAmbientMap(nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
return isAmbientSet;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
const FBXGeometry* EntityTreeRenderer::getGeometryForEntity(EntityItemPointer entityItem) {
|
const FBXGeometry* EntityTreeRenderer::getGeometryForEntity(EntityItemPointer entityItem) {
|
||||||
const FBXGeometry* result = NULL;
|
const FBXGeometry* result = NULL;
|
||||||
|
|
||||||
|
@ -1168,8 +988,6 @@ std::pair<EntityTreeRenderer::LayeredZones::iterator, bool> EntityTreeRenderer::
|
||||||
|
|
||||||
void EntityTreeRenderer::LayeredZones::apply() {
|
void EntityTreeRenderer::LayeredZones::apply() {
|
||||||
assert(_entityTreeRenderer);
|
assert(_entityTreeRenderer);
|
||||||
|
|
||||||
// applyPartial(begin());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntityTreeRenderer::LayeredZones::update(std::shared_ptr<ZoneEntityItem> zone) {
|
void EntityTreeRenderer::LayeredZones::update(std::shared_ptr<ZoneEntityItem> zone) {
|
||||||
|
@ -1184,12 +1002,6 @@ void EntityTreeRenderer::LayeredZones::update(std::shared_ptr<ZoneEntityItem> zo
|
||||||
} else {
|
} else {
|
||||||
LayeredZone zoneLayer(zone);
|
LayeredZone zoneLayer(zone);
|
||||||
|
|
||||||
// should we update? only if this zone is tighter than the current skybox zone
|
|
||||||
bool shouldUpdate = false;
|
|
||||||
if (_skyboxLayer == end() || zoneLayer <= *_skyboxLayer) {
|
|
||||||
shouldUpdate = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// find this zone's layer, if it exists
|
// find this zone's layer, if it exists
|
||||||
iterator layer = end();
|
iterator layer = end();
|
||||||
auto it = _map.find(zoneLayer.id);
|
auto it = _map.find(zoneLayer.id);
|
||||||
|
@ -1209,41 +1021,9 @@ void EntityTreeRenderer::LayeredZones::update(std::shared_ptr<ZoneEntityItem> zo
|
||||||
std::tie(layer, std::ignore) = insert(zoneLayer);
|
std::tie(layer, std::ignore) = insert(zoneLayer);
|
||||||
_map.emplace(layer->id, layer);
|
_map.emplace(layer->id, layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldUpdate) {
|
|
||||||
// applyPartial(layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
void EntityTreeRenderer::LayeredZones::applyPartial(iterator layer) {
|
|
||||||
bool hasSkybox = false;
|
|
||||||
_skyboxLayer = end();
|
|
||||||
|
|
||||||
if (layer == end()) {
|
|
||||||
if (empty()) {
|
|
||||||
_entityTreeRenderer->applyZoneAndHasSkybox(nullptr);
|
|
||||||
return;
|
|
||||||
} else { // a layer was removed - reapply from beginning
|
|
||||||
layer = begin();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (layer == begin()) {
|
|
||||||
hasSkybox = _entityTreeRenderer->applyZoneAndHasSkybox(layer->zone);
|
|
||||||
} else {
|
|
||||||
hasSkybox = _entityTreeRenderer->layerZoneAndHasSkybox(layer->zone);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (layer != end()) {
|
|
||||||
while (!hasSkybox && ++layer != end()) {
|
|
||||||
hasSkybox = _entityTreeRenderer->layerZoneAndHasSkybox(layer->zone);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_skyboxLayer = layer;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
bool EntityTreeRenderer::LayeredZones::contains(const LayeredZones& other) {
|
bool EntityTreeRenderer::LayeredZones::contains(const LayeredZones& other) {
|
||||||
bool result = std::equal(other.begin(), other._skyboxLayer, begin());
|
bool result = std::equal(other.begin(), other._skyboxLayer, begin());
|
||||||
if (result) {
|
if (result) {
|
||||||
|
|
|
@ -147,9 +147,6 @@ private:
|
||||||
void addEntityToScene(EntityItemPointer entity);
|
void addEntityToScene(EntityItemPointer entity);
|
||||||
bool findBestZoneAndMaybeContainingEntities(QVector<EntityItemID>* entitiesContainingAvatar = nullptr);
|
bool findBestZoneAndMaybeContainingEntities(QVector<EntityItemID>* entitiesContainingAvatar = nullptr);
|
||||||
|
|
||||||
// bool applyZoneAndHasSkybox(const std::shared_ptr<ZoneEntityItem>& zone);
|
|
||||||
// bool layerZoneAndHasSkybox(const std::shared_ptr<ZoneEntityItem>& zone);
|
|
||||||
// bool applySkyboxAndHasAmbient();
|
|
||||||
bool applyLayeredZones();
|
bool applyLayeredZones();
|
||||||
|
|
||||||
void checkAndCallPreload(const EntityItemID& entityID, bool reload = false, bool unloadFirst = false);
|
void checkAndCallPreload(const EntityItemID& entityID, bool reload = false, bool unloadFirst = false);
|
||||||
|
@ -223,7 +220,7 @@ private:
|
||||||
std::shared_ptr<ZoneEntityItem> getZone() { return empty() ? nullptr : begin()->zone; }
|
std::shared_ptr<ZoneEntityItem> getZone() { return empty() ? nullptr : begin()->zone; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// void applyPartial(iterator layer);
|
void applyPartial(iterator layer);
|
||||||
|
|
||||||
std::map<QUuid, iterator> _map;
|
std::map<QUuid, iterator> _map;
|
||||||
iterator _skyboxLayer{ end() };
|
iterator _skyboxLayer{ end() };
|
||||||
|
|
|
@ -245,28 +245,6 @@ void RenderableZoneEntityItem::render(RenderArgs* args) {
|
||||||
_model->removeFromScene(scene, transaction);
|
_model->removeFromScene(scene, transaction);
|
||||||
scene->enqueueTransaction(transaction);
|
scene->enqueueTransaction(transaction);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
{
|
|
||||||
// Set the keylight
|
|
||||||
sceneKeyLight->setColor(ColorUtils::toVec3(this->getKeyLightProperties().getColor()));
|
|
||||||
sceneKeyLight->setIntensity(this->getKeyLightProperties().getIntensity());
|
|
||||||
sceneKeyLight->setAmbientIntensity(this->getKeyLightProperties().getAmbientIntensity());
|
|
||||||
sceneKeyLight->setDirection(this->getKeyLightProperties().getDirection());
|
|
||||||
|
|
||||||
// Set the stage
|
|
||||||
bool isSunModelEnabled = this->getStageProperties().getSunModelEnabled();
|
|
||||||
sceneStage->setSunModelEnable(isSunModelEnabled);
|
|
||||||
if (isSunModelEnabled) {
|
|
||||||
sceneStage->setLocation(this->getStageProperties().getLongitude(),
|
|
||||||
this->getStageProperties().getLatitude(),
|
|
||||||
this->getStageProperties().getAltitude());
|
|
||||||
|
|
||||||
auto sceneTime = sceneStage->getTime();
|
|
||||||
sceneTime->setHour(this->getStageProperties().calculateHour());
|
|
||||||
sceneTime->setDay(this->getStageProperties().calculateDay());
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RenderableZoneEntityItem::contains(const glm::vec3& point) const {
|
bool RenderableZoneEntityItem::contains(const glm::vec3& point) const {
|
||||||
|
@ -289,6 +267,9 @@ bool RenderableZoneEntityItem::addToScene(EntityItemPointer self, const render::
|
||||||
auto renderData = std::make_shared<RenderableZoneEntityItemMeta>(self);
|
auto renderData = std::make_shared<RenderableZoneEntityItemMeta>(self);
|
||||||
auto renderPayload = std::make_shared<RenderableZoneEntityItemMeta::Payload>(renderData);
|
auto renderPayload = std::make_shared<RenderableZoneEntityItemMeta::Payload>(renderData);
|
||||||
updateKeyZoneItemFromEntity((*renderData));
|
updateKeyZoneItemFromEntity((*renderData));
|
||||||
|
updateKeySunFromEntity((*renderData));
|
||||||
|
updateKeyAmbientFromEntity((*renderData));
|
||||||
|
updateKeyBackgroundFromEntity((*renderData));
|
||||||
|
|
||||||
render::Item::Status::Getters statusGetters;
|
render::Item::Status::Getters statusGetters;
|
||||||
makeEntityItemStatusGetters(getThisPointer(), statusGetters);
|
makeEntityItemStatusGetters(getThisPointer(), statusGetters);
|
||||||
|
@ -373,6 +354,22 @@ void RenderableZoneEntityItem::updateKeyZoneItemFromEntity(RenderableZoneEntityI
|
||||||
if (!success) {
|
if (!success) {
|
||||||
keyZonePayload.editBound() = render::Item::Bound();
|
keyZonePayload.editBound() = render::Item::Bound();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TODO: Implement the sun model behavior / Keep this code here for reference, this is how we
|
||||||
|
{
|
||||||
|
// Set the stage
|
||||||
|
bool isSunModelEnabled = this->getStageProperties().getSunModelEnabled();
|
||||||
|
sceneStage->setSunModelEnable(isSunModelEnabled);
|
||||||
|
if (isSunModelEnabled) {
|
||||||
|
sceneStage->setLocation(this->getStageProperties().getLongitude(),
|
||||||
|
this->getStageProperties().getLatitude(),
|
||||||
|
this->getStageProperties().getAltitude());
|
||||||
|
|
||||||
|
auto sceneTime = sceneStage->getTime();
|
||||||
|
sceneTime->setHour(this->getStageProperties().calculateHour());
|
||||||
|
sceneTime->setDay(this->getStageProperties().calculateDay());
|
||||||
|
}
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,7 @@ Column {
|
||||||
"Point:LightingModel:enablePointLight",
|
"Point:LightingModel:enablePointLight",
|
||||||
"Spot:LightingModel:enableSpotLight",
|
"Spot:LightingModel:enableSpotLight",
|
||||||
"Light Contour:LightingModel:showLightContour",
|
"Light Contour:LightingModel:showLightContour",
|
||||||
|
"Zone Stack:DrawZoneStack:enabled",
|
||||||
"Shadow:RenderShadowTask:enabled"
|
"Shadow:RenderShadowTask:enabled"
|
||||||
]
|
]
|
||||||
CheckBox {
|
CheckBox {
|
||||||
|
|
Loading…
Reference in a new issue