mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 19:59:28 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into scriptEngineCleanup
This commit is contained in:
commit
bd1d3cb468
2 changed files with 5 additions and 27 deletions
|
@ -798,7 +798,7 @@ namespace render {
|
||||||
return payload->model->renderPart(args, payload->meshIndex, payload->partIndex, payload->transparent);
|
return payload->model->renderPart(args, payload->meshIndex, payload->partIndex, payload->transparent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* template <> const model::MaterialKey& shapeGetMaterialKey(const MeshPartPayload::Pointer& payload) {
|
/* template <> const model::MaterialKey& shapeGetMaterialKey(const MeshPartPayload::Pointer& payload) {
|
||||||
return payload->model->getPartMaterial(payload->meshIndex, payload->partIndex);
|
return payload->model->getPartMaterial(payload->meshIndex, payload->partIndex);
|
||||||
}*/
|
}*/
|
||||||
|
@ -829,9 +829,6 @@ bool Model::addToScene(std::shared_ptr<render::Scene> scene, render::PendingChan
|
||||||
auto renderData = MeshPartPayload::Pointer(renderItem);
|
auto renderData = MeshPartPayload::Pointer(renderItem);
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
somethingAdded = true;
|
somethingAdded = true;
|
||||||
}
|
}
|
||||||
|
@ -841,9 +838,6 @@ bool Model::addToScene(std::shared_ptr<render::Scene> scene, render::PendingChan
|
||||||
auto renderData = MeshPartPayload::Pointer(renderItem);
|
auto renderData = MeshPartPayload::Pointer(renderItem);
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
somethingAdded = true;
|
somethingAdded = true;
|
||||||
}
|
}
|
||||||
|
@ -866,9 +860,6 @@ bool Model::addToScene(std::shared_ptr<render::Scene> scene, render::PendingChan
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
renderPayload->addStatusGetters(statusGetters);
|
renderPayload->addStatusGetters(statusGetters);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
somethingAdded = true;
|
somethingAdded = true;
|
||||||
}
|
}
|
||||||
|
@ -879,9 +870,6 @@ bool Model::addToScene(std::shared_ptr<render::Scene> scene, render::PendingChan
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
renderPayload->addStatusGetters(statusGetters);
|
renderPayload->addStatusGetters(statusGetters);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
somethingAdded = true;
|
somethingAdded = true;
|
||||||
}
|
}
|
||||||
|
@ -1305,15 +1293,11 @@ void Model::simulateInternal(float deltaTime) {
|
||||||
updateRig(deltaTime, parentTransform);
|
updateRig(deltaTime, parentTransform);
|
||||||
}
|
}
|
||||||
void Model::updateClusterMatrices() {
|
void Model::updateClusterMatrices() {
|
||||||
if (!_needsUpdateClusterMatrices) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_needsUpdateClusterMatrices = false;
|
|
||||||
const FBXGeometry& geometry = _geometry->getFBXGeometry();
|
const FBXGeometry& geometry = _geometry->getFBXGeometry();
|
||||||
glm::mat4 zeroScale(glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
glm::mat4 zeroScale(glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
||||||
glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
||||||
glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
glm::vec4(0.0f, 0.0f, 0.0f, 0.0f),
|
||||||
glm::vec4(0.0f, 0.0f, 0.0f, 1.0f));
|
glm::vec4(0.0f, 0.0f, 0.0f, 1.0f));
|
||||||
auto cauterizeMatrix = _rig->getJointTransform(geometry.neckJointIndex) * zeroScale;
|
auto cauterizeMatrix = _rig->getJointTransform(geometry.neckJointIndex) * zeroScale;
|
||||||
|
|
||||||
glm::mat4 modelToWorld = glm::mat4_cast(_rotation);
|
glm::mat4 modelToWorld = glm::mat4_cast(_rotation);
|
||||||
|
@ -1819,15 +1803,13 @@ bool Model::initWhenReady(render::ScenePointer scene) {
|
||||||
segregateMeshGroups();
|
segregateMeshGroups();
|
||||||
|
|
||||||
render::PendingChanges pendingChanges;
|
render::PendingChanges pendingChanges;
|
||||||
|
|
||||||
foreach (auto renderItem, _transparentRenderItems) {
|
foreach (auto renderItem, _transparentRenderItems) {
|
||||||
auto item = scene->allocateID();
|
auto item = scene->allocateID();
|
||||||
auto renderData = MeshPartPayload::Pointer(renderItem);
|
auto renderData = MeshPartPayload::Pointer(renderItem);
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (auto renderItem, _opaqueRenderItems) {
|
foreach (auto renderItem, _opaqueRenderItems) {
|
||||||
|
@ -1836,9 +1818,6 @@ bool Model::initWhenReady(render::ScenePointer scene) {
|
||||||
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
auto renderPayload = std::make_shared<MeshPartPayload::Payload>(renderData);
|
||||||
_renderItems.insert(item, renderPayload);
|
_renderItems.insert(item, renderPayload);
|
||||||
pendingChanges.resetItem(item, renderPayload);
|
pendingChanges.resetItem(item, renderPayload);
|
||||||
pendingChanges.updateItem<MeshPartPayload>(item, [&](MeshPartPayload& data) {
|
|
||||||
data.model->_needsUpdateClusterMatrices = true;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
scene->enqueuePendingChanges(pendingChanges);
|
scene->enqueuePendingChanges(pendingChanges);
|
||||||
|
|
||||||
|
|
|
@ -497,7 +497,6 @@ private:
|
||||||
QMap<render::ItemID, render::PayloadPointer> _renderItems;
|
QMap<render::ItemID, render::PayloadPointer> _renderItems;
|
||||||
bool _readyWhenAdded = false;
|
bool _readyWhenAdded = false;
|
||||||
bool _needsReload = true;
|
bool _needsReload = true;
|
||||||
bool _needsUpdateClusterMatrices = true;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RigPointer _rig;
|
RigPointer _rig;
|
||||||
|
|
Loading…
Reference in a new issue