public void Render(IPluginIO pin, DX11RenderContext context, DX11RenderSettings settings) { IDX11Geometry g = settings.Geometry; if (this.FEnabled[0]) { if (this.FLayerIn.IsConnected) { IDX11Geometry geom = settings.Geometry; settings.Geometry = null; if (settings.BackBuffer is IDX11Buffer) { IDX11Buffer buffer = settings.BackBuffer as IDX11Buffer; if (buffer.Buffer.Description.OptionFlags.HasFlag(ResourceOptionFlags.DrawIndirect)) { this.dispatcher.DispatchBuffer = buffer.Buffer; this.dispatcher.Offet = this.FInOffset[0]; settings.Geometry = this.geometry; } } for (int i = 0; i < this.FLayerIn.SliceCount; i++) { this.FLayerIn[i][context].Render(this.FLayerIn.PluginIO, context, settings); } settings.Geometry = geom; } } settings.Geometry = g; }
private RawBufferGeometry(RawBufferGeometry self) { this.buffer = self.buffer; this.context = self.context; this.BoundingBox = self.BoundingBox; this.InputLayout = self.InputLayout; this.props = self.props; this.Tag = self.Tag; this.Topology = self.Topology; }