ich Model I/O
bin zu entdecken, und ich möchte es benutzen Ecken zu erzeugen, um eine Kugel zu schaffen, so habe ich eine MDLMesh
Objekt dieser Klasse Methode:Warum hat MDLMesh ungenannte Standardattribute?
let sphere = MDLMesh.newEllipsoidWithRadii(vector_float3(1, 1, 1), radialSegments: 300, verticalSegments: 300, geometryType: MDLGeometryType.KindTriangles, inwardNormals: false, hemisphere: false, allocator: MTKMeshBufferAllocator(device: device))
Dann, um zu verstehen, wie es funktioniert, möchte ich die Attribute meiner dieser MDLMesh inspizieren, damit ich sie auf diese Weise lese:
for attribute in sphere.vertexDescriptor.attributes {
if let vertexAttribute = attribute as? MDLVertexAttribute {
print("Attribute named : \(vertexAttribute.name), of format \(vertexAttribute.format.rawValue)")
}
}
Hier ist die Ausgabe:
Attribut genannt: Position von Format 786.435
namens Attribut: normal, Format 786.435
Attribut mit dem Namen: textureCoordinate, Format 786.434
Attribut mit dem Namen:, von Attribut-Format 0 genannt:, Format 0
Attribut mit dem Namen:, von Format 0 Attribut mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attributs mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attributs mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attribut mit dem Namen:, des Formats 0
Attribut namens:, des Formats 0 Attribut benannt:, der Form bei 0
Attribut mit dem Namen:, Format 0 Attribut mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attribut mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attribut mit dem Namen:, Format 0
Attribut mit dem Namen:, Format 0 Attributs mit dem Namen:, Format 0
Attribut mit dem Namen:, von Attribut-Format 0 genannt:, Format 0
Attribut mit dem Namen:, von Attribut-Format 0 genannt:, Format 0
Attribut mit dem Namen:, des Formats 0 Attribut mit dem Namen:, des Formats 0
Attributname:, des Formats 0 Attributname:, der Form bei 0
Ich glaube, Position und Normalen wurden automatisch generiert, aber warum gibt es eine Textur-Koordinate? Mit welchen Regeln wurden diese generiert? Vor allem, warum gibt es all diese unbenannten Attribute ungültigen Formats?
Danke
EDIT: Es scheint, dass es eine feste Anzahl von Attributen (31 in meinem Fall), denn selbst wenn ich hinzufügen neue, benutzerdefinierte Attribute (zum Beispiel durch Erzeugen von Normalen), die Attribute, die wurden ungültig mit diesen neuen Attributen ersetzt und die Gesamtzahl der Attribute ist noch 31.
Oh ich sehe, danke! –