export declare const SdefVertex = "\n#ifndef SDEFVERTEX\n#define SDEFVERTEX\n\n#if !defined(BAKED_VERTEX_ANIMATION_TEXTURE) && defined(SDEF)\n\n#if NUM_BONE_INFLUENCERS > 0\n{\n float weight0 = matricesWeights[0];\n float weight1 = matricesWeights[1];\n\n #ifdef BONETEXTURE\n mat4 transformMatrix0 = readMatrixFromRawSampler(boneSampler, matricesIndices[0]);\n mat4 transformMatrix1 = readMatrixFromRawSampler(boneSampler, matricesIndices[1]);\n #else\n mat4 transformMatrix0 = mBones[int(matricesIndices[0])];\n mat4 transformMatrix1 = mBones[int(matricesIndices[1])];\n #endif\n\n mat3 slerpedRotationMatrix = quaternionToRotationMatrix(slerp(\n rotationMatrixToQuaternion(mat3(transformMatrix0)), \n rotationMatrixToQuaternion(mat3(transformMatrix1)),\n weight1\n ));\n\n // -center transform\n mat4 sdefInflunce = mat4(\n vec4(1.0, 0.0, 0.0, 0.0),\n vec4(0.0, 1.0, 0.0, 0.0),\n vec4(0.0, 0.0, 1.0, 0.0),\n vec4(-matricesSdefC, 1.0)\n );\n\n // rotation\n mat4 rotationMatrix = mat4(\n vec4(slerpedRotationMatrix[0], 0.0),\n vec4(slerpedRotationMatrix[1], 0.0),\n vec4(slerpedRotationMatrix[2], 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n sdefInflunce = rotationMatrix * sdefInflunce;\n\n // add position offset\n vec3 positionOffset =\n vec3(transformMatrix0 * vec4(matricesSdefRW0, 1)) * weight0 +\n vec3(transformMatrix1 * vec4(matricesSdefRW1, 1)) * weight1;\n\n sdefInflunce[3] += vec4(positionOffset, 0.0);\n \n float useLinearDeform = step(0.0, -abs(matricesSdefRW0.x));\n\n influence = mat4(\n mix(sdefInflunce[0], influence[0], useLinearDeform),\n mix(sdefInflunce[1], influence[1], useLinearDeform),\n mix(sdefInflunce[2], influence[2], useLinearDeform),\n mix(sdefInflunce[3], influence[3], useLinearDeform)\n );\n}\n#endif\n\n#endif\n\n#endif\n";