// float perlinNoise = clamp(snoise(vec3(newUV * 5.0, cc1)), 0.0, 1.0);
float cc1a = cc1 * channel1.a;
float cc2a = cc2 * channel2.a;
float cc3a = cc3 * channel3.a;
float cc4a = cc4 * channel4.a;
float total = cc1a + cc2a + cc3a + cc4a + 0.05;
[layer] = mix(noopVec4, channel1, cc1a / total) *
mix(noopVec4, channel2, cc2a / total) *
mix(noopVec4, channel3, cc3a / total) *
mix(noopVec4, channel4, cc4a / total) *
mix(noopVec4, (0.0 * noopVec4), 0.05 / total);