public void Render(DX11RenderContext context, DX11RenderSettings settings) { if (this.FEnabled[0]) { IDX11LayerOrder currentOrder = settings.LayerOrder; if (this.FInVal.IsConnected) { settings.LayerOrder = this.FInVal[0]; } if (this.FLayerIn.IsConnected) { for (int i = 0; i < this.FLayerIn.SliceCount; i++) { this.FLayerIn[i][context].Render(context, settings); } } settings.LayerOrder = currentOrder; } else { if (this.FLayerIn.IsConnected) { for (int i = 0; i < this.FLayerIn.SliceCount; i++) { this.FLayerIn[i][context].Render(context, settings); } } } }
public void Render(IPluginIO pin, DX11RenderContext context, DX11RenderSettings settings) { IDX11LayerOrder currentOrder = settings.LayerOrder; settings.LayerOrder = this; if (this.FLayerIn.IsConnected) { for (int i = 0; i < this.FLayerIn.SliceCount; i++) { this.FLayerIn[i][context].Render(this.FLayerIn.PluginIO, context, settings); } } settings.LayerOrder = currentOrder; }
public void Render(DX11RenderContext context, DX11RenderSettings settings) { if (this.FLayerIn.SliceCount == 0) { return; } int layerCount = this.LayerCount; if (layerCount == 0) { return; } if (this.FEnabled[0]) { if (this.FLayerIn.IsConnected) { Matrix view = settings.View; Matrix projection = settings.Projection; Matrix vp = settings.ViewProjection; Matrix crop = settings.Crop; Matrix aspect = settings.Aspect; Matrix rawProj = settings.RawProjection; bool depthonly = settings.DepthOnly; if (this.perSlice[0]) { IDX11LayerOrder currentOrder = settings.LayerOrder; settings.LayerOrder = getSliceOrder; //Add layer pin to spreadmax contrib layerCount = Math.Max(layerCount, this.FLayerIn.SliceCount); for (int i = 0; i < layerCount; i++) { getSliceOrder.FInIndex = i; this.UpdateSettings(settings, i); this.FLayerIn.RenderSlice(context, settings, i); //Restore slice settings.View = view; settings.Projection = projection; settings.ViewProjection = vp; settings.DepthOnly = depthonly; settings.Crop = crop; settings.Aspect = aspect; settings.RawProjection = rawProj; } settings.LayerOrder = currentOrder; } else { for (int i = 0; i < layerCount; i++) { this.UpdateSettings(settings, i); this.FLayerIn.RenderAll(context, settings); } settings.View = view; settings.Projection = projection; settings.ViewProjection = vp; settings.DepthOnly = depthonly; settings.Crop = crop; settings.Aspect = aspect; settings.RawProjection = rawProj; } } } else { this.FLayerIn.RenderAll(context, settings); } }