History

cleanup and expose mapped materials to getScriptableModel

SamGondelman committed 7 years ago

Commit fdbcf4b1 parent f75a3e15 files · +15 −8Browse files

Showing the changes to libraries/render-utils/src/Model.cpp (1 of 5 files). Show all

Unified · Split

libraries/render-utils/src/Model.cpp+11−1
@@ -756,7 +756,16 @@ scriptable::ScriptableModelBase Model::getScriptableModel() { · 755 unmodified lines
756 756
757 int numParts = (int)mesh->getNumParts();757 int numParts = (int)mesh->getNumParts();
758 for (int partIndex = 0; partIndex < numParts; partIndex++) {758 for (int partIndex = 0; partIndex < numParts; partIndex++) {
759 result.appendMaterial(graphics::MaterialLayer(getGeometry()->getShapeMaterial(shapeID), 0), shapeID, _modelMeshMaterialNames[shapeID]);759 auto& materialName = _modelMeshMaterialNames[shapeID];
760 result.appendMaterial(graphics::MaterialLayer(getGeometry()->getShapeMaterial(shapeID), 0), shapeID, materialName);
761
762 auto mappedMaterialIter = _materialMapping.find(shapeID);
763 if (mappedMaterialIter != _materialMapping.end()) {
764 auto mappedMaterials = mappedMaterialIter->second;
765 for (auto& mappedMaterial : mappedMaterials) {
766 result.appendMaterial(mappedMaterial, shapeID, materialName);
767 }
768 }
760 shapeID++;769 shapeID++;
761 }770 }
762 }771 }
@@ -1546,6 +1555,7 @@ void Model::applyMaterialMapping() { · 783 unmodified lines
1546 auto meshIndex = _modelMeshRenderItemShapes[shapeID].meshIndex;1555 auto meshIndex = _modelMeshRenderItemShapes[shapeID].meshIndex;
1547 bool invalidatePayloadShapeKey = shouldInvalidatePayloadShapeKey(meshIndex);1556 bool invalidatePayloadShapeKey = shouldInvalidatePayloadShapeKey(meshIndex);
1548 graphics::MaterialLayer material = graphics::MaterialLayer(networkMaterial, ++_priorityMap[shapeID]);1557 graphics::MaterialLayer material = graphics::MaterialLayer(networkMaterial, ++_priorityMap[shapeID]);
1558 _materialMapping[shapeID].push_back(material);
1549 transaction.updateItem<ModelMeshPartPayload>(itemID, [material, renderItemsKey,1559 transaction.updateItem<ModelMeshPartPayload>(itemID, [material, renderItemsKey,
1550 invalidatePayloadShapeKey, primitiveMode, useDualQuaternionSkinning](ModelMeshPartPayload& data) {1560 invalidatePayloadShapeKey, primitiveMode, useDualQuaternionSkinning](ModelMeshPartPayload& data) {
1551 data.addMaterial(material);1561 data.addMaterial(material);