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); }
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); }
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>()); }