示例#1
0
        protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
        {
            var scale       = new VFXExpressionExtractScaleFromMatrix(inputExpression[0]);
            var majorRadius = inputExpression[1];
            var minorRadius = inputExpression[2];

            return(new VFXExpression[] { VFXOperatorUtility.TorusVolume(majorRadius, minorRadius, scale) });
        }
        public void ProcessOperatorTorusVolume()
        {
            var a = 4.0f;
            var b = 1.5f;

            var value_a = new VFXValue <float>(a);
            var value_b = new VFXValue <float>(b);

            var expressionA = VFXOperatorUtility.TorusVolume(value_a, value_b);

            var context           = new VFXExpression.Context(VFXExpressionContextOption.CPUEvaluation);
            var resultExpressionA = context.Compile(expressionA);

            Assert.AreEqual(177.65288f, resultExpressionA.Get <float>(), 0.001f);
        }
示例#3
0
 protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression)
 {
     return(new VFXExpression[] { VFXOperatorUtility.TorusVolume(inputExpression[1], inputExpression[2]) });
 }