public void Render(IDX11ResourceDataRetriever sender, IPluginHost host) { if (!this.Enabled) { sender.AssignedContext = null; return; } this.gb.Flush(); if (this.RenderGraphs.Count > 0) { DX11RenderContext dataRenderContext; //Check if we have a preffered device for that task (and check that we have render graph for it if (this.PreferredDataContext != null && this.RenderGraphs.ContainsKey(this.PreferredDataContext)) { dataRenderContext = this.PreferredDataContext; } else { dataRenderContext = this.RenderGraphs.Keys.First(); } this.RenderGraphs[dataRenderContext].Render(sender, host); } else { sender.AssignedContext = null; } }
private void OnRenderRequest(IDX11ResourceDataRetriever sender, IPluginHost host) { if (this.RenderRequest != null) { this.RenderRequest(sender, host); } }
public void Render(IDX11ResourceDataRetriever sender, IPluginHost host) { //Assign device to sender sender.AssignedContext = this.context; //Called by stuff like info DX11Node node = this.graph.FindNode(host); this.ProcessNode(node); }
public DX11NodeInterfaces(IInternalPluginHost hoster) { this.hoster = hoster; this.resourceProvider = this.IsAssignable <IDX11ResourceProvider>() ? this.Instance <IDX11ResourceProvider>() : null; this.rendererProvider = this.IsAssignable <IDX11RendererProvider>() ? this.Instance <IDX11RendererProvider>() : null; this.renderWindow = this.IsAssignable <IDX11RenderWindow>() ? this.Instance <IDX11RenderWindow>() : null; this.multiResourceProvider = this.IsAssignable <IDX11MultiResourceProvider>() ? this.Instance <IDX11MultiResourceProvider>() : null; this.layerProvider = this.IsAssignable <IDX11LayerProvider>() ? this.Instance <IDX11LayerProvider>() : null; this.dataRetriever = this.IsAssignable <IDX11ResourceDataRetriever>() ? this.Instance <IDX11ResourceDataRetriever>() : null; this.updateBlocker = this.IsAssignable <IDX11UpdateBlocker>() ? this.Instance <IDX11UpdateBlocker>() : null; }
public void Render(IDX11ResourceDataRetriever sender, IPluginHost host) { this.gb.Flush(); //TODO : Allocate new device after if (this.RenderGraphs.Count > 0) { DX11RenderContext onDevice = this.RenderGraphs.Keys.First(); this.RenderGraphs[onDevice].Render(sender, host); } else { sender.AssignedContext = null; } }
public void Render(IDX11ResourceDataRetriever sender, IPluginHost host) { this.gb.Flush(); //TODO : Allocate new device after if (this.RenderGraphs.Count > 0) { DX11RenderContext onDevice = this.RenderGraphs.Keys.First(); this.RenderGraphs[onDevice].Render(sender, host); } else { sender.AssignedContext = null; } }
protected override bool ProcessAddedNode(INode2 node) { if (node.IsNodeAssignableFrom <N>() || node.IsNodeAssignableFrom <IDX11ResourceDataRetriever>()) { DX11Node vn = new DX11Node(node.InternalCOMInterf); this.graph.Nodes.Add(vn); //If force updater, register event if (node.IsNodeAssignableFrom <IDX11ResourceDataRetriever>()) { IDX11ResourceDataRetriever updater = vn.Instance <IDX11ResourceDataRetriever>(); updater.RenderRequest += OnRenderRequest; } foreach (IPin2 p in node.Pins) { this.ProcessAddedPin(p, true); } return(true); } return(false); }
void graphbuilder_OnRenderRequest(IDX11ResourceDataRetriever sender, IPluginHost host) { this.rendermanager.Render(sender, host); }
public void Render(IDX11ResourceDataRetriever sender, IPluginHost host) { //Assign device to sender sender.AssignedContext = this.context; //Called by stuff like info DX11Node node = this.graph.FindNode(host); this.ProcessNode(node); }
void graphbuilder_OnRenderRequest(IDX11ResourceDataRetriever sender, IPluginHost host) { this.rendermanager.Render(sender, host); }