     }
 }
 
-public class S3DXMLMTLRenderPassColorAttachmentDescriptorNode: S3DXMLNodeParser {
-    public typealias NodeType = MTLRenderPassColorAttachmentDescriptor
-    public func parse(descriptorManager: SpectraDescriptorManager, elem: XMLElement, options: [String : AnyObject] = [:]) -> NodeType {
-        let desc = NodeType()
+public class S3DXMLMTLRenderPassColorAttachmentDescriptorNode {
+    public func parse(container: Container, elem: XMLElement, options: [String : AnyObject] = [:]) -> MTLRenderPassColorAttachmentDescriptor {
+        let desc = MTLRenderPassColorAttachmentDescriptor()
         
         //TODO: texture & ref
         

    }
}

public class S3DXMLMTLRenderPassDepthAttachmentDescriptorNode: S3DXMLNodeParser {
    public typealias NodeType = MTLRenderPassDepthAttachmentDescriptor
    public func parse(descriptorManager: SpectraDescriptorManager, elem: XMLElement, options: [String : AnyObject] = [:]) -> NodeType {
        let desc = NodeType()
        
        //TODO: texture & ref
        

    }
}

public class S3DXMLMTLRenderPassStencilAttachmentDescriptorNode {
    public func parse(container: Container, elem: XMLElement, options: [String : AnyObject] = [:]) -> MTLRenderPassStencilAttachmentDescriptor {
        let desc = MTLRenderPassStencilAttachmentDescriptor()
        
        //TODO: texture & ref
        
