- if (DG._XSym) cNew = blendColor(cNew, CalcPoint(new xyz(xdMax-P.x,P.y,P.z)), ADD);
- if (DG._YSym) cNew = blendColor(cNew, CalcPoint(new xyz(P.x,ydMax-P.y,P.z)), ADD);
- if (DG._ZSym) cNew = blendColor(cNew, CalcPoint(new xyz(P.x,P.y,zdMax-P.z)), ADD);
-
- float b = brightness(cNew)/100.;
- b = b < .5 ? pow(b,fSharp) : 1-pow(1-b,fSharp);
-
- float noizhue = DG._NoiseHue()==0 ? 0 : DG._NoiseHue()*360*noise(
- P.x/(xdMax*.3)+NoiseMove*.0003,
- P.y/(ydMax*.3)+NoiseMove*.00025,
- P.z/(zdMax*.3)+NoiseMove*.0002 );
-
- cNew = color( (hue(cNew) + modhue + zSpinHue - noizhue) % 360,
- saturation(cNew) + 100*DG._Saturate(),
- 100 * (DG._Trails()==0 ? b : max(b, (float) (brightness(cOld)/100. - (1-DG._Trails()) * deltaMs/200.)))
- * (DG._Dim ()==0 ? 1 : 1-DG._Dim())
- );
-
- colors[p.index] = cNew;
+
+ if (pXsym.b) cNew = blendColor(cNew, CalcPoint(new xyz(xdMax-P.x,P.y,P.z)), ADD);
+ if (pYsym.b) cNew = blendColor(cNew, CalcPoint(new xyz(P.x,ydMax-P.y,P.z)), ADD);
+ if (pZsym.b) cNew = blendColor(cNew, CalcPoint(new xyz(P.x,P.y,zdMax-P.z)), ADD);
+
+ float b = brightness(cNew)/100.;
+
+ if (pSharp.Val()>0) b = b < .5 ? pow(b,fSharp) : 1-pow(1-b,fSharp);
+ if (DG._Trails()>0 && fQuant == 0) b = max(b, (float) (brightness(cOld)/100. - (1-DG._Trails()) * deltaMs/200.));
+
+ colors[p.index] = color(
+ (hue(cNew) + zSpinHue) % 360,
+ saturation(cNew) + 100*(fSaturate*2-1),
+ 100 * b * DG._Dim()
+ );