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 let weight0: f32 = vertexInputs.matricesWeights[0];\n let weight1: f32 = vertexInputs.matricesWeights[1];\n\n #ifdef BONETEXTURE\n let transformMatrix0: mat4x4f = readMatrixFromRawSampler(boneSampler, vertexInputs.matricesIndices[0]);\n let transformMatrix1: mat4x4f = readMatrixFromRawSampler(boneSampler, vertexInputs.matricesIndices[1]);\n #else\n let transformMatrix0: mat4x4f = uniforms.mBones[int(vertexInputs.matricesIndices[0])];\n let transformMatrix1: mat4x4f = uniforms.mBones[int(vertexInputs.matricesIndices[1])];\n #endif\n\n let slerpedRotationMatrix: mat3x3f = quaternionToRotationMatrix(slerp(\n rotationMatrixToQuaternion(mat3x3f(transformMatrix0[0].xyz, transformMatrix0[1].xyz, transformMatrix0[2].xyz)),\n rotationMatrixToQuaternion(mat3x3f(transformMatrix1[0].xyz, transformMatrix1[1].xyz, transformMatrix1[2].xyz)),\n weight1\n ));\n\n // -center transform\n var sdefInflunce: mat4x4f = mat4x4f(\n vec4f(1.0, 0.0, 0.0, 0.0),\n vec4f(0.0, 1.0, 0.0, 0.0),\n vec4f(0.0, 0.0, 1.0, 0.0),\n vec4f(-vertexInputs.matricesSdefC, 1.0)\n );\n\n // rotation\n let rotationMatrix: mat4x4f = mat4x4f(\n vec4f(slerpedRotationMatrix[0], 0.0),\n vec4f(slerpedRotationMatrix[1], 0.0),\n vec4f(slerpedRotationMatrix[2], 0.0),\n vec4f(0.0, 0.0, 0.0, 1.0)\n );\n sdefInflunce = rotationMatrix * sdefInflunce;\n\n // add position offset\n let positionOffset: vec3f =\n (transformMatrix0 * vec4f(vertexInputs.matricesSdefRW0, 1)).xyz * weight0 +\n (transformMatrix1 * vec4f(vertexInputs.matricesSdefRW1, 1)).xyz * weight1;\n\n sdefInflunce[3] += vec4f(positionOffset, 0.0);\n \n let useLinearDeform: f32 = step(0.0, -abs(vertexInputs.matricesSdefRW0.x));\n\n influence = mat4x4f(\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";