コード例 #1
0
        public void MixedAttributes()
        {
            var glsl = @"
in uint a;
in int b;
in float c;
in vec2 d;
in vec3 e;
in vec4 f;
in uvec2 g;
in uvec3 h;
in uvec4 i;
in ivec2 j;
in ivec3 k;
in ivec4 l;";

            CollectionAssert.AreEqual(new List <ShaderAttribute>
            {
                new ShaderAttribute("a", AttributeType.UnsignedInt),
                new ShaderAttribute("b", AttributeType.Int),
                new ShaderAttribute("c", AttributeType.Float),
                new ShaderAttribute("d", AttributeType.Vec2),
                new ShaderAttribute("e", AttributeType.Vec3),
                new ShaderAttribute("f", AttributeType.Vec4),
                new ShaderAttribute("g", AttributeType.UVec2),
                new ShaderAttribute("h", AttributeType.UVec3),
                new ShaderAttribute("i", AttributeType.UVec4),
                new ShaderAttribute("j", AttributeType.IVec2),
                new ShaderAttribute("k", AttributeType.IVec3),
                new ShaderAttribute("l", AttributeType.IVec4),
            }, GlslParsing.GetAttributes(glsl));
        }
コード例 #2
0
        public void SingleAttribute()
        {
            var glsl = "in float float1;";

            CollectionAssert.AreEqual(new List <ShaderAttribute>
            {
                new ShaderAttribute("float1", AttributeType.Float),
            }, GlslParsing.GetAttributes(glsl));
        }
コード例 #3
0
        public void MissingTypeDescription()
        {
            var glsl = "in a";

            CollectionAssert.AreEqual(new List <ShaderAttribute>(), GlslParsing.GetAttributes(glsl));
        }
コード例 #4
0
        public void MissingSemicolon()
        {
            var glsl = "in vec3 a";

            CollectionAssert.AreEqual(new List <ShaderAttribute>(), GlslParsing.GetAttributes(glsl));
        }
コード例 #5
0
        public void EmptySource()
        {
            var glsl = "";

            CollectionAssert.AreEqual(new List <ShaderAttribute>(), GlslParsing.GetAttributes(glsl));
        }