         if let label = elem.valueForAttribute("label") as? String {
             samplerDesc.label = label
         }
-        
         if let minFilter = elem.valueForAttribute("min-filter") as? String {
             let mtlEnum = descriptorManager.mtlEnums["mtlSamplerMinMapFilter"]!
             let enumVal = UInt(mtlEnum.getValue(minFilter))

            let enumVal = UInt(mtlEnum.getValue(tAddress))
            samplerDesc.tAddressMode = MTLSamplerAddressMode(rawValue: enumVal)!
        }
        if let normCoord = elem.valueForAttribute("normalized-coordinates") as? String {
            samplerDesc.normalizedCoordinates = true
        }
        if let lodMinClamp = elem.valueForAttribute("lod-min-clamp") as? String {

    public func parse(descriptorManager: SpectraDescriptorManager, elem: ONOXMLElement, options: [String: AnyObject] = [:]) -> NodeType {
        let vertexDesc = NodeType()
        
        let attributeDescSelector = "vertex-attribute-descriptors > vertex-attribute-descriptor"
        elem.enumerateElementsWithCSS(attributeDescSelector) {(el, idx, stop) in
            let node = S3DXMLMTLVertexAttributeDescriptorNode()
            vertexDesc.attributes[Int(idx)] = node.parse(descriptorManager, elem: el)
        }
        
        let bufferLayoutDescSelector = "vertex-buffer-layout-descriptors > vertex-buffer-layout-descriptor"
        elem.enumerateElementsWithCSS(bufferLayoutDescSelector) { (el, idx, stop) in
            let node = S3DXMLMTLVertexBufferLayoutDescriptorNode()
            vertexDesc.layouts[Int(idx)] = node.parse(descriptorManager, elem: el)
        }
        
        return vertexDesc
    }
}
