Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }