protected override VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
        {
            //round(frac(x*F))
            var expression = inputExpression[0] * inputExpression[1];

            return(new[] { VFXOperatorUtility.Round(VFXOperatorUtility.Frac(expression)) });
        }
Exemple #2
0
        protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
        {
            //round(frac(x*F))
            var expression = inputExpression[0] * inputExpression[1];
            var res        = VFXOperatorUtility.Round(VFXOperatorUtility.Frac(expression));

            return(new[] { VFXOperatorUtility.Lerp(inputExpression[2], inputExpression[3], res) });
        }
Exemple #3
0
        protected override VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
        {
            // 2 * abs(round(frac(x*F)) - frac(x*F))
            var expression = inputExpression[0] * inputExpression[1];
            var dX         = VFXOperatorUtility.Frac(expression);
            var slope      = VFXOperatorUtility.Round(dX);
            var two        = VFXOperatorUtility.TwoExpression[expression.valueType];

            return(new[] { two *(new VFXExpressionAbs(slope - dX)) });
        }
Exemple #4
0
 protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
 {
     return(new[] { VFXOperatorUtility.Round(inputExpression[0]) });
 }