Esempio n. 1
0
        public void TestColorSwizzleOut()
        {
            var equations = new FixedFunctionEquations <string>();

            var colRgb1 =
                equations.CreateColorInput("colRgb1",
                                           equations.CreateColorConstant(1, 2, 3));
            var colRgb2 =
                equations.CreateColorInput("colRgb2",
                                           equations.CreateColorConstant(2, 3, 4));
            var colI1 =
                equations.CreateColorInput("colI1",
                                           equations.CreateColorConstant(1));
            var colI2 =
                equations.CreateColorInput("colI2",
                                           equations.CreateColorConstant(2));

            var scR1 = equations.CreateScalarOutput("scR1", colI1.R);
            var scR2 = equations.CreateScalarOutput("scR2", colRgb1.R);

            var colOutputExp = (colRgb1.Add(colRgb2)).Divide(
                colI1.Subtract(colI2));
            var colOutput =
                equations.CreateColorOutput("colOutput",
                                            colOutputExp);

            var scBExp = equations.CreateScalarOutput("scBExp", colOutputExp.B);
            var scBVar = equations.CreateScalarOutput("scBVar", colOutput.B);

            this.AssertEquals_(equations,
                               "Scalar inputs:",
                               "",
                               "Color inputs:",
                               "colRgb1: rgb<1,2,3>",
                               "colRgb2: rgb<2,3,4>",
                               "colI1: i<1>",
                               "colI2: i<2>",
                               "",
                               "",
                               "Scalar outputs:",
                               "scR1: <colI1>.R",
                               "scR2: <colRgb1>.R",
                               "scBExp: (<colRgb1>.B + <colRgb2>.B)/(<colI1>.B + -1*<colI2>.B)",
                               "scBVar: <colOutput>.B",
                               "",
                               "Color outputs:",
                               "colOutput: (<colRgb1> + <colRgb2>)/(<colI1> + i<-1>*<colI2>)"
                               );
        }
Esempio n. 2
0
        public void TestColorSwizzleIn()
        {
            var equations = new FixedFunctionEquations <FixedFunctionSource>();

            var colRgb =
                equations.CreateColorInput(FixedFunctionSource.VERTEX_COLOR_0,
                                           equations.CreateColorConstant(1, 2, 3));
            var colGbr =
                equations.CreateColorOutput(FixedFunctionSource.OUTPUT_COLOR,
                                            equations.CreateColor(
                                                colRgb.G,
                                                colRgb.B,
                                                colRgb.R));

            this.AssertEquals_(equations,
                               "Scalar inputs:",
                               "",
                               "Color inputs:",
                               "colRgb: rgb<1,2,3>",
                               "",
                               "",
                               "Scalar outputs:",
                               "",
                               "Color outputs:",
                               "colGbr: rgb<<colRgb>.G,<colRgb>.B,<colRgb>.R>"
                               );
        }
Esempio n. 3
0
        public void TestColorSwizzleIn()
        {
            var equations = new FixedFunctionEquations <string>();

            var colRgb =
                equations.CreateColorInput("colRgb",
                                           equations.CreateColorConstant(1, 2, 3));
            var colGbr =
                equations.CreateColorOutput("colGbr",
                                            equations.CreateColor(
                                                colRgb.G,
                                                colRgb.B,
                                                colRgb.R));

            this.AssertEquals_(equations,
                               "Scalar inputs:",
                               "",
                               "Color inputs:",
                               "colRgb: rgb<1,2,3>",
                               "",
                               "",
                               "Scalar outputs:",
                               "",
                               "Color outputs:",
                               "colGbr: rgb<<colRgb>.G,<colRgb>.B,<colRgb>.R>"
                               );
        }
Esempio n. 4
0
        public void TestColorMath()
        {
            var equations = new FixedFunctionEquations <string>();

            var colRgb1 =
                equations.CreateColorInput("colRgb1",
                                           equations.CreateColorConstant(1, 2, 3));
            var colRgb2 =
                equations.CreateColorInput("colRgb2",
                                           equations.CreateColorConstant(2, 3, 4));
            var colI1 =
                equations.CreateColorInput("colI1",
                                           equations.CreateColorConstant(1));
            var colI2 =
                equations.CreateColorInput("colI2",
                                           equations.CreateColorConstant(2));

            var colOutput =
                equations.CreateColorOutput("colOutput",
                                            (colRgb1.Add(colRgb2)).Divide(
                                                colI1.Subtract(colI2)));

            this.AssertEquals_(equations,
                               "Scalar inputs:",
                               "",
                               "Color inputs:",
                               "colRgb1: rgb<1,2,3>",
                               "colRgb2: rgb<2,3,4>",
                               "colI1: i<1>",
                               "colI2: i<2>",
                               "",
                               "",
                               "Scalar outputs:",
                               "",
                               "Color outputs:",
                               "colOutput: (<colRgb1> + <colRgb2>)/(<colI1> + i<-1>*<colI2>)"
                               );
        }