export declare const speckleCopyOutputFrag = "\n uniform float opacity;\n uniform sampler2D tDiffuse;\n varying vec2 vUv;\n\n const float UnpackDownscale = 255. / 256.;\n const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\n\n float unpackRGBAToDepth( const in vec4 v ) {\n return dot( v, UnpackFactors );\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n void main() {\n vec4 inSample = texture2D( tDiffuse, vUv );\n vec3 outSample = inSample.rgb;\n #if INPUT_TYPE == 0\n /** \n Un-premultiply alpha\n */\n inSample.rgb /= inSample.a;\n outSample = LinearTosRGB( inSample ).rgb;\n #elif INPUT_TYPE == 1\n outSample.rgb = vec3(unpackRGBAToDepth(inSample));\n #elif INPUT_TYPE == 2\n outSample.rgb = unpackRGBToNormal(inSample.rgb);\n #endif\n\n gl_FragColor.rgb = outSample;\n gl_FragColor.a = inSample.a;\n }";