예제 #1
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>"
                               );
        }
예제 #2
0
        public void TestInOut()
        {
            var equations = new FixedFunctionEquations <string>();

            var scIn =
                equations.CreateScalarInput("scIn",
                                            equations.CreateScalarConstant(123));
            var scOut = equations.CreateScalarOutput("scOut", scIn);

            var colSc =
                equations.CreateColorOutput("colSc", equations.CreateColor(scIn));

            this.AssertEquals_(equations,
                               "Scalar inputs:",
                               "scIn: 123",
                               "",
                               "Color inputs:",
                               "",
                               "",
                               "Scalar outputs:",
                               "scOut: {scIn}",
                               "",
                               "Color outputs:",
                               "colSc: i<{scIn}>"
                               );
        }
예제 #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>"
                               );
        }
예제 #4
0
        public void TestScalarColor()
        {
            var equations = new FixedFunctionEquations <FixedFunctionSource>();

            var sc    = equations.CreateScalarConstant(1);
            var colSc =
                equations.CreateColorOutput(FixedFunctionSource.OUTPUT_COLOR, equations.CreateColor(sc));

            this.AssertEquals_(equations,
                               @"# version 130

out vec4 fragColor;

void main() {
  fragColor = rgb(1.0,1.0,1.0);

  if (fragColor.a < .95) {
    discard;
  }
}"
                               );
        }