old_contents: export default /* glsl */`
  #ifdef USE_TRANSMISSION
  
  	material.transmission = transmission;
  	material.transmissionAlpha = 1.0;
  	material.thickness = thickness;
  	material.attenuationDistance = attenuationDistance;
  	material.attenuationColor = attenuationColor;
  
  	#ifdef USE_TRANSMISSIONMAP
  
  		material.transmission *= texture2D( transmissionMap, vUv ).r;
  
  	#endif
  
  	#ifdef USE_THICKNESSMAP
  
  		material.thickness *= texture2D( thicknessMap, vUv ).g;
  
  	#endif
  
  	vec3 pos = vWorldPosition;
  	vec3 v = normalize( cameraPosition - pos );
  	vec3 n = inverseTransformDirection( normal, viewMatrix );
  
  	vec4 transmission = getIBLVolumeRefraction(
  		n, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,
  		pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,
  		material.attenuationColor, material.attenuationDistance );
  
  	material.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );
  
  	totalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );
  
  #endif
  `;
  
new_contents: export default /* glsl */`
  #ifdef USE_TRANSMISSION
  
  	material.transmission = transmission;
  	material.transmissionAlpha = 1.0;
  	material.thickness = thickness;
  	material.attenuationDistance = attenuationDistance;
  	material.attenuationColor = attenuationColor;
  
  	#ifdef USE_TRANSMISSIONMAP
  
  		material.transmission *= texture2D( transmissionMap, vUv ).r;
  
  	#endif
  
  	#ifdef USE_THICKNESSMAP
  
  		material.thickness *= texture2D( thicknessMap, vUv ).g;
  
  	#endif
  
  	vec3 pos = vWorldPosition;
  	vec3 v = normalize( cameraPosition - pos );
  	vec3 n = inverseTransformDirection( normal, viewMatrix );
  
  	vec4 transmission = getIBLVolumeRefraction(
  		n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,
  		pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,
  		material.attenuationColor, material.attenuationDistance );
  
  	material.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );
  
  	totalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );
  
  #endif
  `;
  
subject: Fix flow accordance of "roughness" used in transmission (#24433)