Пример #1
0
        public void Update(DX11RenderContext context)
        {
            Device device = context.Device;

            for (int i = 0; i < this.FOutGeom.SliceCount; i++)
            {
                if (this.FInEnabled[i] && this.FInGeom[i].Contains(context))
                {
                    IDX11Geometry g = this.FInGeom[i][context];

                    if (g != null)
                    {
                        if (g is DX11IndexedGeometry)
                        {
                            DX11IndexedGeometry v = (DX11IndexedGeometry)this.FInGeom[i][context].ShallowCopy();

                            DX11PerVertexIndexedDrawer drawer = new DX11PerVertexIndexedDrawer();
                            v.AssignDrawer(drawer);

                            this.FOutGeom[i][context] = v;
                        }
                        else
                        {
                            this.FOutGeom[i][context] = g;
                        }
                    }
                }
                else
                {
                    this.FOutGeom[i][context] = this.FInGeom[i][context];
                }
            }
        }
Пример #2
0
        public void Update(IPluginIO pin, DX11RenderContext context)
        {
            Device device = context.Device;

            if (invalidate)
            {
                for (int i = 0; i < this.FOutGeom.SliceCount; i++)
                {
                    if (this.FInEnabled[i])
                    {
                        DX11IndexedGeometry v = (DX11IndexedGeometry)this.FInGeom[i][context].ShallowCopy();

                        DX11PerVertexIndexedDrawer drawer = new DX11PerVertexIndexedDrawer();
                        v.AssignDrawer(drawer);

                        this.FOutGeom[i][context] = v;

                    }
                    else
                    {
                        this.FOutGeom[i][context] = this.FInGeom[i][context];
                    }

                }
            }
        }
        public override DX11IndexedGeometry Convolute(DX11IndexedGeometry input)
        {
            DX11IndexedGeometry        result = (DX11IndexedGeometry)input.ShallowCopy();
            DX11PerVertexIndexedDrawer drawer = new DX11PerVertexIndexedDrawer();

            result.AssignDrawer(drawer);
            return(result);
        }
Пример #4
0
        public void Update(IPluginIO pin, DX11RenderContext context)
        {
            Device device = context.Device;

            if (invalidate)
            {
                for (int i = 0; i < this.FOutGeom.SliceCount; i++)
                {
                    if (this.FInEnabled[i])
                    {
                        DX11IndexedGeometry v = (DX11IndexedGeometry)this.FInGeom[i][context].ShallowCopy();

                        DX11PerVertexIndexedDrawer drawer = new DX11PerVertexIndexedDrawer();
                        v.AssignDrawer(drawer);

                        this.FOutGeom[i][context] = v;
                    }
                    else
                    {
                        this.FOutGeom[i][context] = this.FInGeom[i][context];
                    }
                }
            }
        }