Example #1
0
        public void AddValidBinary()
        {
            var shader = new Shader();

            shader.LoadShaders(File.ReadAllText("Shaders/valid.vert"), File.ReadAllText("Shaders/valid.frag"));
            shader.GetProgramBinary(out byte[] binary, out BinaryFormat format);

            Assert.IsTrue(loader.AddShader("validShader", binary, format));
        }
        public void AddValidSourceCode()
        {
            Assert.IsTrue(loader.AddShader("validShader",
                                           new List <string>()
            {
                File.ReadAllText("Shaders/valid.vert")
            },
                                           new List <string>()
            {
                File.ReadAllText("Shaders/valid.frag")
            },
                                           new List <string>()));

            CollectionAssert.AreEqual(new string[] { "validShader" }, loader.ShaderNames.ToArray());
        }
        public void MissingSource()
        {
            var loader = new ShaderLoader();

            loader.AddSource("b", File.ReadAllText("Shaders/MultipleFunctions.frag"), ShaderType.FragmentShader);
            Assert.IsFalse(loader.AddShader("shader", "b"));
        }
        public void InvalidKey()
        {
            var loader = new ShaderLoader();

            loader.AddSource("b", File.ReadAllText("Shaders/MultipleFunctions.frag"), ShaderType.FragmentShader);
            var e = Assert.ThrowsException <KeyNotFoundException>(() => loader.AddShader("shader", "b", "(╯ຈل͜ຈ) ╯︵ ┻━┻"));

            Assert.AreEqual("Source not found for key (╯ຈل͜ຈ) ╯︵ ┻━┻", e.Message);
        }
        public void AddAllSources()
        {
            var loader = new ShaderLoader();

            loader.AddSource("a", File.ReadAllText("Shaders/FunctionA.glsl"), ShaderType.FragmentShader);
            loader.AddSource("b", File.ReadAllText("Shaders/MultipleFunctions.frag"), ShaderType.FragmentShader);
            Assert.IsTrue(loader.AddShader("shader", "a", "b"));
            Assert.IsTrue(loader.GetShader("shader").LinkStatusIsOk);
        }
Example #6
0
        public void ValidNameValidShader()
        {
            loader.AddShader("validShader",
                             new List <string>()
            {
                File.ReadAllText("Shaders/valid.vert")
            },
                             new List <string>()
            {
                File.ReadAllText("Shaders/valid.frag")
            },
                             new List <string>());

            Assert.IsTrue(loader.CreateProgramBinary("validShader", out byte[] bin, out BinaryFormat format));
            var shader = new Shader();

            Assert.IsTrue(shader.TryLoadProgramFromBinary(bin, format));

            Assert.IsTrue(shader.LinkStatusIsOk);
        }
Example #7
0
        public void Setup()
        {
            RenderTestUtils.OpenTKWindowlessContext.BindDummyContext();

            loader.AddShader("validShader",
                             new List <string>()
            {
                File.ReadAllText("Shaders/valid.vert")
            },
                             new List <string>()
            {
                File.ReadAllText("Shaders/valid.frag")
            },
                             new List <string>());
        }