Showing the changes to libraries/render-utils/src/Model.cpp (1 of 1 file). Show all
Unified · Split
| @@ -1071,18 +1071,21 @@ float Model::getLimbLength(int jointIndex) const { · 1070 unmodified lines | |||
| 1071 | } | 1071 | } |
| 1072 | 1072 | ||
| 1073 | bool Model::maybeStartBlender() { | 1073 | bool Model::maybeStartBlender() { |
| 1074 | const FBXGeometry& fbxGeometry = getFBXGeometry(); | 1074 | if (isLoaded()) { |
| 1075 | if (fbxGeometry.hasBlendedMeshes()) { | 1075 | const FBXGeometry& fbxGeometry = getFBXGeometry(); |
| 1076 | QThreadPool::globalInstance()->start(new Blender(getThisPointer(), ++_blendNumber, _geometry, | 1076 | if (fbxGeometry.hasBlendedMeshes()) { |
| 1077 | fbxGeometry.meshes, _blendshapeCoefficients)); | 1077 | QThreadPool::globalInstance()->start(new Blender(getThisPointer(), ++_blendNumber, _geometry, |
| 1078 | return true; | 1078 | fbxGeometry.meshes, _blendshapeCoefficients)); |
| 1079 | return true; | ||
| 1080 | } | ||
| 1079 | } | 1081 | } |
| 1080 | return false; | 1082 | return false; |
| 1081 | } | 1083 | } |
| 1082 | 1084 | ||
| 1083 | void Model::setBlendedVertices(int blendNumber, const std::weak_ptr<NetworkGeometry>& geometry, | 1085 | void Model::setBlendedVertices(int blendNumber, const std::weak_ptr<NetworkGeometry>& geometry, |
| 1084 | const QVector<glm::vec3>& vertices, const QVector<glm::vec3>& normals) { | 1086 | const QVector<glm::vec3>& vertices, const QVector<glm::vec3>& normals) { |
| 1085 | if (_geometry != geometry.lock() || _blendedVertexBuffers.empty() || blendNumber < _appliedBlendNumber) { | 1087 | auto geometryRef = geometry.lock(); |
| 1088 | if (!geometryRef || _geometry != geometryRef || _blendedVertexBuffers.empty() || blendNumber < _appliedBlendNumber) { | ||
| 1086 | return; | 1089 | return; |
| 1087 | } | 1090 | } |
| 1088 | _appliedBlendNumber = blendNumber; | 1091 | _appliedBlendNumber = blendNumber; |