message: skip work when morphtarget weight is zero
  fixes
diff: @@ -87,19 +87,25 @@ void skinPosition(inout vec3 p, const uvec4 ids, const vec4 weights) {
  void morphPosition(inout vec4 p) {
  ivec3 texcoord = ivec3(getVertexIndex() % MAX_MORPH_TARGET_BUFFER_WIDTH, getVertexIndex() / MAX_MORPH_TARGET_BUFFER_WIDTH, 0);
  for (uint i = 0u; i < objectUniforms.morphTargetCount; ++i) {
  + float w = morphingUniforms.weights[i][0];
  + if (w != 0.0) {
  texcoord.z = int(i);
  - p += morphingUniforms.weights[i][0] * texelFetch(morphTargetBuffer_positions, texcoord, 0);
  + p += w * texelFetch(morphTargetBuffer_positions, texcoord, 0);
  + }
  }
  }
  void morphNormal(inout vec3 n) {
  ivec3 texcoord = ivec3(getVertexIndex() % MAX_MORPH_TARGET_BUFFER_WIDTH, getVertexIndex() / MAX_MORPH_TARGET_BUFFER_WIDTH, 0);
  for (uint i = 0u; i < objectUniforms.morphTargetCount; ++i) {
  + float w = morphingUniforms.weights[i][0];
  + if (w != 0.0) {
  texcoord.z = int(i);
  ivec4 tangent = texelFetch(morphTargetBuffer_tangents, texcoord, 0);
  vec3 normal;
  toTangentFrame(float4(tangent) * (1.0 / 32767.0), normal);
  - n += morphingUniforms.weights[i][0] * normal;
  + n += w * normal;
  + }
  }
  }
  #endif
  