From: Adeel Kazmi Date: Fri, 19 May 2023 12:49:19 +0000 (+0000) Subject: Merge "Fix the normalization factor calculation for blendshapes" into devel/master X-Git-Tag: dali_2.2.28~7 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=9bbca96c9151fb1a96b47e17f09c720b7c05adc2;hp=b9eb55c352f330f86b443bb72c35fdff0b70cfa8 Merge "Fix the normalization factor calculation for blendshapes" into devel/master --- diff --git a/dali-scene3d/public-api/loader/mesh-definition.cpp b/dali-scene3d/public-api/loader/mesh-definition.cpp index 7894b58..6cc3d6a 100644 --- a/dali-scene3d/public-api/loader/mesh-definition.cpp +++ b/dali-scene3d/public-api/loader/mesh-definition.cpp @@ -595,7 +595,7 @@ void CalculateGltf2BlendShapes(uint8_t* geometryBuffer, const std::vector& min, const std: return; } - // If there are sparse indices then process only relevant data - if(sparseIndices && !sparseIndices->empty()) + auto end = values + count * numComponents; + while(values != end) { - for(auto elementIndex : *sparseIndices) + auto nextElement = values + numComponents; + uint32_t i = 0; + while(values != nextElement) { - auto value = values + (elementIndex * numComponents); - for(auto i = 0u; i < numComponents; ++i) - { - clampFn(min.data(), max.data(), i, *value); - } - } - } - else // if there's no sparse indices process all vertices - { - auto end = values + count * numComponents; - while(values != end) - { - auto nextElement = values + numComponents; - uint32_t i = 0; - while(values != nextElement) - { - clampFn(min.data(), max.data(), i, *values); - ++values; - ++i; - } + clampFn(min.data(), max.data(), i, *values); + ++values; + ++i; } } }