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]; } } }
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); }