mirror of
https://github.com/JulianGro/overte.git
synced 2025-08-13 09:27:40 +02:00
more updates
This commit is contained in:
parent
5a8c1a0374
commit
ae7a46fbca
3 changed files with 8 additions and 44 deletions
|
@ -1185,25 +1185,6 @@ void ModelEntityRenderer::animate(const TypedEntityPointer& entity, const ModelP
|
||||||
entity->copyAnimationJointDataToModel();
|
entity->copyAnimationJointDataToModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ModelEntityRenderer::needsRenderUpdate() const {
|
|
||||||
//ModelPointer model = resultWithReadLock<ModelPointer>([&] {
|
|
||||||
// return _model;
|
|
||||||
//});
|
|
||||||
|
|
||||||
//if (model) {
|
|
||||||
// // When the individual mesh parts of a model finish fading, they will mark their Model as needing updating
|
|
||||||
// // we will watch for that and ask the model to update it's render items
|
|
||||||
// if (model->needsReload()) {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (model->needsFixupInScene()) {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
return Parent::needsRenderUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ModelEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const {
|
bool ModelEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const {
|
||||||
if (entity->blendshapesChanged()) {
|
if (entity->blendshapesChanged()) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -1214,24 +1195,6 @@ bool ModelEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPoin
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelPointer model = resultWithReadLock<ModelPointer>([&] {
|
|
||||||
return _model;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (model && model->isLoaded()) {
|
|
||||||
// Check to see if we need to update the model bounds
|
|
||||||
auto transform = entity->getTransform();
|
|
||||||
if (model->getTranslation() != transform.getTranslation() ||
|
|
||||||
model->getRotation() != transform.getRotation()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (model->getScaleToFitDimensions() != entity->getScaledDimensions() ||
|
|
||||||
model->getRegistrationPoint() != entity->getRegistrationPoint()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return Parent::needsRenderUpdateFromTypedEntity(entity);
|
return Parent::needsRenderUpdateFromTypedEntity(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1290,7 +1253,6 @@ void ModelEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPoint
|
||||||
modelAddedToScene(entity->getEntityItemID(), NestableType::Entity, model);
|
modelAddedToScene(entity->getEntityItemID(), NestableType::Entity, model);
|
||||||
}
|
}
|
||||||
_didLastVisualGeometryRequestSucceed = didVisualGeometryRequestSucceed;
|
_didLastVisualGeometryRequestSucceed = didVisualGeometryRequestSucceed;
|
||||||
entity->_dimensionsInitialized = false;
|
|
||||||
entity->_originalTexturesRead = false;
|
entity->_originalTexturesRead = false;
|
||||||
entity->_needsJointSimulation = true;
|
entity->_needsJointSimulation = true;
|
||||||
emit requestRenderUpdate();
|
emit requestRenderUpdate();
|
||||||
|
@ -1440,11 +1402,13 @@ void ModelEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& sce
|
||||||
ModelPointer model = resultWithReadLock<ModelPointer>([&] {
|
ModelPointer model = resultWithReadLock<ModelPointer>([&] {
|
||||||
return _model;
|
return _model;
|
||||||
});
|
});
|
||||||
if (!_jointMappingCompleted) {
|
if (model && model->isLoaded()) {
|
||||||
mapJoints(entity, model);
|
if (!_jointMappingCompleted) {
|
||||||
}
|
mapJoints(entity, model);
|
||||||
if (entity->readyToAnimate() && model && model->isLoaded()) {
|
}
|
||||||
animate(entity, model);
|
if (entity->readyToAnimate()) {
|
||||||
|
animate(entity, model);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
emit requestRenderUpdate();
|
emit requestRenderUpdate();
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,7 +159,6 @@ protected:
|
||||||
virtual void handleBlendedVertices(int blendshapeNumber, const QVector<BlendshapeOffset>& blendshapeOffsets,
|
virtual void handleBlendedVertices(int blendshapeNumber, const QVector<BlendshapeOffset>& blendshapeOffsets,
|
||||||
const QVector<int>& blendedMeshSizes, const render::ItemIDs& subItemIDs) override;
|
const QVector<int>& blendedMeshSizes, const render::ItemIDs& subItemIDs) override;
|
||||||
|
|
||||||
virtual bool needsRenderUpdate() const override;
|
|
||||||
virtual bool needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const override;
|
virtual bool needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const override;
|
||||||
virtual void doRenderUpdateSynchronousTyped(const ScenePointer& scene, Transaction& transaction, const TypedEntityPointer& entity) override;
|
virtual void doRenderUpdateSynchronousTyped(const ScenePointer& scene, Transaction& transaction, const TypedEntityPointer& entity) override;
|
||||||
virtual void doRenderUpdateAsynchronousTyped(const TypedEntityPointer& entity) override;
|
virtual void doRenderUpdateAsynchronousTyped(const TypedEntityPointer& entity) override;
|
||||||
|
|
|
@ -325,6 +325,7 @@ void ModelEntityItem::setCompoundShapeURL(const QString& url) {
|
||||||
withWriteLock([&] {
|
withWriteLock([&] {
|
||||||
if (_compoundShapeURL.get() != url) {
|
if (_compoundShapeURL.get() != url) {
|
||||||
_compoundShapeURL.set(url);
|
_compoundShapeURL.set(url);
|
||||||
|
_needsRenderUpdate = true;
|
||||||
_flags |= Simulation::DIRTY_SHAPE | Simulation::DIRTY_MASS;
|
_flags |= Simulation::DIRTY_SHAPE | Simulation::DIRTY_MASS;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue