Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 6
0
        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);
        }