Пример #1
0
 def toBinaryArray(self):
     res = List[Byte]()
     res.AddRange(BitConverter.GetBytes(self.position.X))
     res.AddRange(BitConverter.GetBytes(self.position.Y))
     res.AddRange(BitConverter.GetBytes(self.normal.X))
     res.AddRange(BitConverter.GetBytes(self.normal.Y))
     res.AddRange(BitConverter.GetBytes(self.normal.Z))
     res.AddRange(BitConverter.GetBytes(self.position.Z))
     res.AddRange(BitConverter.GetBytes(self.texCoord.X))
     res.AddRange(BitConverter.GetBytes(self.texCoord.Y))
     res.AddRange(BitConverter.GetBytes(clr.Convert(self.boneIDs[0],
                                                    Int32)))
     res.AddRange(BitConverter.GetBytes(clr.Convert(self.boneIDs[1],
                                                    Int32)))
     res.AddRange(BitConverter.GetBytes(clr.Convert(self.boneIDs[2],
                                                    Int32)))
     res.AddRange(BitConverter.GetBytes(clr.Convert(self.boneIDs[3],
                                                    Int32)))
     res.AddRange(BitConverter.GetBytes(self.boneWeights.X))
     res.AddRange(BitConverter.GetBytes(self.boneWeights.Y))
     res.AddRange(BitConverter.GetBytes(self.boneWeights.Z))
     res.AddRange(BitConverter.GetBytes(self.boneWeights.W))
     return Enumerable.ToArray(res)
Пример #2
0
def toarray(col):
    return Enumerable.ToArray(col)
Пример #3
0
 def toBinaryArray(self, mesh, i):
     res = List[Byte]()
     for e in self.elements:
         res.AddRange(e.toBinaryArray(mesh, i))
     return Enumerable.ToArray(res)
Пример #4
0
# # bone weights
# writer.WriteSByte(4)
# writer.WriteSByte(6)
# writer.WriteUInt32(7)

# vertex declaration
writer.WriteUInt32(vertexDeclaration.stride)
writer.WriteUInt32(vertexDeclaration.elementCount)
for e in vertexDeclaration.elements:
    writer.WriteSByte(e.dimension)
    writer.WriteSByte(e.type)
    writer.WriteUInt32(e.usage)

writer.WriteUInt32(vertices.Count / vertexDeclaration.stride)
# data = List[Byte]()
# for v in vertices:
# data.AddRange(vertexDeclaration.toBinaryArray(v))
# assert(data.Count == len(vertices) * vertexDeclaration.stride)
writer.WriteByteArray(Enumerable.ToArray(vertices))

# index buffer
writer.WriteInt(3)
data = List[Byte]()
for i in indices:
    data.AddRange(BitConverter.GetBytes(i))
writer.WriteUInt32(data.Count)
writer.WriteByteArray(Enumerable.ToArray(data))

writer.Flush()
f.Close()