Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
 public Technique_Common(Instance_Material instanceMaterial, Accessor accessor)
 {
     _instanceMaterial = instanceMaterial;
     _accessor = accessor;
 }