private Pipeline CreatePipeline() { // describe the render pipeline var pipelineDesc = new PipelineDescriptor { Shader = _shader }; pipelineDesc.Layout.Attribute(0).Format = PipelineVertexAttributeFormat.Float3; pipelineDesc.Layout.Attribute(1).Format = PipelineVertexAttributeFormat.Float4; // create the pipeline resource from the descriptor return(GraphicsDevice.CreatePipeline(ref pipelineDesc)); }
/// <summary> /// SERIALIZATION: Creates a NodeGraphView from a Pipeline Descriptor /// </summary> /// <param name="p_Pipeline">Pipeline descriptor</param> /// <param name="p_Panel">the panel that will contain this NodeGraphView</param> public NodeGraphView(PipelineDescriptor p_Pipeline, NodeGraphPanel p_Panel) { //System.Globalization.CultureInfo v_IntlCultureInfo = new System.Globalization.CultureInfo("en-us"); this.m_oPanel = p_Panel; this.ViewX = 0; this.ViewY = 0; this.ViewZoom = 1.0f; this.m_NodeCollection = new List <NodeGraphNode>(); foreach (var module in p_Pipeline.modules) { this.m_NodeCollection.Add(NodeGraphNode.FromModuleDescriptor(module, this)); } m_NodeConnectorCollection = new List <NodeGraphConnector>(); foreach (var endpoint in p_Pipeline.inputEndpoints) { this.m_NodeConnectorCollection.Add(new NodeGraphConnector(endpoint, this, ConnectorType.InputConnector)); } foreach (var endpoint in p_Pipeline.outputEndpoints) { this.m_NodeConnectorCollection.Add(new NodeGraphConnector(endpoint, this, ConnectorType.OutputConnector)); } this.m_Links = new List <NodeGraphLink>(); foreach (var connection in p_Pipeline.connections) { this.m_Links.Add(NodeGraphLink.FromConnectionDescriptor(connection, this)); } for (int i = 0; i < this.m_NodeCollection.Count; i++) { //! TODO : normal algorythm for module placement this.m_NodeCollection[i].X = i * 100; this.m_NodeCollection[i].Y = i * 100; this.m_NodeCollection[i].UpdateHitRectangle(); } this.m_SelectedItems = new List <NodeGraphNode>(); }
/// <summary> /// Set blueprint that should be added to the Conveyor. /// </summary> /// <param name="descriptor"></param> /// <returns></returns> public ConveyorContract WithBlueprint(PipelineDescriptor descriptor) { if (descriptor == null) { throw new ArgumentNullException(nameof(descriptor)); } var blueprintWrapper = new PipelineBlueprintWrapper { BuilderType = descriptor.BuilderType, Pipeline = new Pipeline(descriptor.Blueprint), QueueProvider = mQueueManager.CreateQueue($"{descriptor.Blueprint.Name}_queue"), ConcurrentLines = descriptor.ConcurrentLinesNumber, RoutingName = descriptor.ForType ? descriptor.Blueprint.SeedType.AssemblyQualifiedName : descriptor.Blueprint.Name }; BlueprintsMap.Add(blueprintWrapper.RoutingName, blueprintWrapper); return(this); }