text: export default /* glsl */`
  #ifdef USE_MORPHTARGETS
  
  	uniform float morphTargetBaseInfluence;
  
  	#ifdef MORPHTARGETS_TEXTURE
  
  		uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];
  		uniform sampler2DArray morphTargetsTexture;
  		uniform ivec2 morphTargetsTextureSize;
  
  		vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {
  
  			int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;
  			int y = texelIndex / morphTargetsTextureSize.x;
  			int x = texelIndex - y * morphTargetsTextureSize.x;
  
  			ivec3 morphUV = ivec3( x, y, morphTargetIndex );
  			return texelFetch( morphTargetsTexture, morphUV, 0 );
  
  		}
  
  	#else
  
  		#ifndef USE_MORPHNORMALS
  
  			uniform float morphTargetInfluences[ 8 ];
  
  		#else
  
  			uniform float morphTargetInfluences[ 4 ];
  
  		#endif
  
  	#endif
  
  #endif
  `;
  