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