Beispiel #1
0
        public void PrimSetIndices()
        {
            IWorld        world = m_domCollection.RootDomObject.CreateInterface <IWorld>();
            IScene        scene = world.Scene;
            IList <INode> nodes = scene.Nodes;
            IMesh         mesh  = null;

            foreach (INode node in nodes)
            {
                if (node.Name.Contains("pCube1"))
                {
                    mesh = node.Meshes[0];
                }
            }
            IList <IPrimitiveSet> primSets = mesh.PrimitiveSets;
            IPrimitiveSet         primSet  = primSets[0];

            int[] indexes = primSet.PrimitiveIndices;
            int[] data    = new int[] {
                0, 0, 1, 1, 3, 2, 2, 3, 2, 4, 3, 5, 5, 6, 4, 7, 4, 8, 5, 9, 7, 10,
                6, 11, 6, 12, 7, 13, 1, 14, 0, 15, 1, 16, 7, 17, 5, 18, 3, 19, 6, 20, 0, 21, 2,
                22, 4, 23
            };
            for (int i = 0; i < data.Length; i++)
            {
                Assert.AreEqual(data[i], indexes[i]);
            }
        }
Beispiel #2
0
        public void Shader()
        {
            IWorld        world = m_domCollection.RootDomObject.CreateInterface <IWorld>();
            IScene        scene = world.Scene;
            IList <INode> nodes = scene.Nodes;
            IMesh         mesh  = null;

            foreach (INode node in nodes)
            {
                if (node.Name.Contains("pCube1"))
                {
                    mesh = node.Meshes[0];
                }
            }
            IList <IPrimitiveSet> primSets = mesh.PrimitiveSets;
            IPrimitiveSet         primSet  = primSets[0];
            IShader          shader        = primSet.Shader;
            IList <IBinding> binding       = shader.Bindings;

            Assert.AreEqual(0, shader.Bindings.Count);
            Assert.IsNull(shader.CustomAttributes);
        }
Beispiel #3
0
        public void Bindings()
        {
            IWorld        world = m_domCollection.RootDomObject.CreateInterface <IWorld>();
            IScene        scene = world.Scene;
            IList <INode> nodes = scene.Nodes;
            IMesh         mesh  = null;

            foreach (INode node in nodes)
            {
                if (node.Name.Contains("pCube1"))
                {
                    mesh = node.Meshes[0];
                }
            }
            IList <IPrimitiveSet> primSets = mesh.PrimitiveSets;
            IPrimitiveSet         primSet  = primSets[0];
            IList <IBinding>      bindings = primSet.Bindings;
            IBinding firstBinding          = bindings[0];

            Assert.AreEqual("position", bindings[0].Source.GetAttribute("name").ToString());
            Assert.AreEqual("normal", bindings[1].Source.GetAttribute("name").ToString());
        }
Beispiel #4
0
        public void PrimSetSizes()
        {
            IWorld        world = m_domCollection.RootDomObject.CreateInterface <IWorld>();
            IScene        scene = world.Scene;
            IList <INode> nodes = scene.Nodes;
            IMesh         mesh  = null;

            foreach (INode node in nodes)
            {
                if (node.Name.Contains("pCube1"))
                {
                    mesh = node.Meshes[0];
                }
            }
            IList <IPrimitiveSet> primSets = mesh.PrimitiveSets;
            IPrimitiveSet         primSet  = primSets[0];

            int[] sizes = primSet.PrimitiveSizes;
            int[] data  = new int[] { 4, 4, 4, 4, 4, 4 };
            for (int i = 0; i < data.Length; i++)
            {
                Assert.AreEqual(data[i], sizes[i]);
            }
        }
Beispiel #5
0
        public void PrimSet()
        {
            IWorld        world = m_domCollection.RootDomObject.CreateInterface <IWorld>();
            IScene        scene = world.Scene;
            IList <INode> nodes = scene.Nodes;
            IMesh         mesh  = null;

            foreach (INode node in nodes)
            {
                if (node.Name.Contains("pCube1"))
                {
                    mesh = node.Meshes[0];
                }
            }
            IList <IPrimitiveSet> primSets = mesh.PrimitiveSets;
            IPrimitiveSet         primSet  = primSets[0];

            Assert.AreEqual(2, primSet.Bindings.Count);
            Assert.AreEqual(primSet.Bindings.Count, primSet.BindingCount);
            Assert.AreEqual(48, primSet.PrimitiveIndices.Length);
            Assert.AreEqual(6, primSet.PrimitiveSizes.Length);
            Assert.AreEqual("POLYGONS", primSet.PrimitiveType);
            Assert.IsNotNull(primSet.Shader, "Shader must not be null");
        }