public void ValidFragShader() { string shaderSource = ResourceShaders.GetShaderSource("valid.frag"); shader.LoadShaders(new ShaderObject(shaderSource, ShaderType.FragmentShader)); Assert.AreEqual(1, linkChangedEvents.Count); Assert.AreEqual(true, linkChangedEvents[0].LinkStatus); }
public void FunctionNotDefined() { Shader shader = new Shader(); // The shader declared but does not define a function. string fragSource = ResourceShaders.GetShaderSource("undefinedFunction.frag"); shader.LoadShaders(new ShaderObject(fragSource, ShaderType.FragmentShader)); Assert.IsFalse(shader.LinkStatusIsOk); }
public void InvalidVertShader() { // Load the shader file from the embedded resources. Shader shader = new Shader(); string shaderSource = ResourceShaders.GetShaderSource("invalid.vert"); shader.LoadShaders(new ShaderObject(shaderSource, ShaderType.VertexShader)); Assert.IsFalse(shader.LinkStatusIsOk); Assert.AreEqual(0, shader.ActiveUniformCount); Assert.AreEqual(0, shader.ActiveUniformBlockCount); Assert.AreEqual(0, shader.ActiveAttributeCount); }
public void ValidFragShader() { // Load the shader file from the embedded resources. Shader shader = new Shader(); string shaderSource = ResourceShaders.GetShaderSource("valid.frag"); shader.LoadShaders(new ShaderObject(shaderSource, ShaderType.FragmentShader)); Assert.IsTrue(shader.LinkStatusIsOk); Assert.AreEqual(19, shader.ActiveUniformCount); Assert.AreEqual(0, shader.ActiveAttributeCount); Assert.AreEqual(1, shader.ActiveUniformBlockCount); }
public void ValidAndInvalidFragShader() { // Load the shader file from the embedded resources. Shader shader = new Shader(); string shaderSource = ResourceShaders.GetShaderSource("valid.frag"); shader.LoadShaders(new ShaderObject(shaderSource, ShaderType.FragmentShader)); string shaderSource2 = ResourceShaders.GetShaderSource("invalid.frag"); shader.LoadShaders(new ShaderObject(shaderSource2, ShaderType.FragmentShader)); Assert.IsFalse(shader.LinkStatusIsOk); }
public void ValidFragInvalidVertShader() { Shader shader = new Shader(); // Load the shader files from the embedded resources. string fragSource = ResourceShaders.GetShaderSource("valid.frag"); shader.LoadShaders(new ShaderObject(fragSource, ShaderType.FragmentShader)); // Force an update of compilation/link status. Assert.IsTrue(shader.LinkStatusIsOk); // Make sure the compilation/link status still updates. string vertSource = ResourceShaders.GetShaderSource("invalid.vert"); shader.LoadShaders(new ShaderObject(vertSource, ShaderType.VertexShader)); Assert.IsFalse(shader.LinkStatusIsOk); }