private Node GetGeometryNode(ModelPart part, int i, string modelName) { var id = $"{modelName}-Part-{i}"; var node = new Node() { Id = id, Name = id }; node.Matrix.Add(new Matrix { Sid = "transform", Value = string.Format(CultureInfo.InvariantCulture, "1 0 0 {0} 0 1 0 {1} 0 0 1 {2} 0 0 0 1", part.Offset.X, part.Offset.Y, part.Offset.Z) }); var instanceGeometry = new Instance_Geometry() { Url = $"#{id}", Bind_Material = new Bind_Material() }; var instanceMaterial = new Instance_Material { Symbol = $"{id}-material", Target = $"#{id}-material", }; instanceMaterial.Bind_Vertex_Input.Add(new Instance_MaterialBind_Vertex_Input { Input_Set = 0, Input_Semantic = "TEXCOORD", Semantic = "UVMap" }); instanceGeometry.Bind_Material.Technique_Common.Add(instanceMaterial); node.Instance_Geometry.Add(instanceGeometry); return(node); }
public Technique_Common(XPathNodeIterator iterator, string uri) { XPathNodeIterator accessorNodesIterator = iterator.Current.SelectChildren(XmlCollada.Accessor.root, uri); if (accessorNodesIterator.MoveNext()) { _accessor = new Accessor(accessorNodesIterator, uri); } XPathNodeIterator instanceMaterialNodesIterator = iterator.Current.SelectChildren(XmlCollada.Instance_Material.root, uri); if (instanceMaterialNodesIterator.MoveNext()) { _instanceMaterial = new Instance_Material(instanceMaterialNodesIterator, uri); } }
public Technique_Common(Instance_Material instanceMaterial, Accessor accessor) { _instanceMaterial = instanceMaterial; _accessor = accessor; }