Пример #1
0
 public static RenderPackage? LoadFromXml(ComputeContext computeContext, KernelXmlFile kernelXml, IParameterSet oldParameterSetCache)
 {
     var kernel = RenderKernel.Create(computeContext, kernelXml.Files.Select(File.ReadAllText).ToArray());
     if (kernel == null)
         return null;
     var controls = kernelXml.ControlsFunc();
     if (oldParameterSetCache != null && controls.GetType() == oldParameterSetCache.GetType())
         controls = oldParameterSetCache;
     return new RenderPackage(kernel, controls);
 }
Пример #2
0
 public static void SaveProgram(this RenderWindow renderWindow, KernelXmlFile kernel, string filename)
 {
     if (renderWindow.Renderer.Kernel == null)
         return;
     var kernelOptions = renderWindow.Renderer.Kernel.SerializeOptions("KernelOptions");
     var serializableParams = renderWindow.Renderer.Parameters as ISerializableParameterSet;
     var controlOptions = serializableParams == null ? null : serializableParams.Save("ControlOptions");
     var element = new XElement("ClamConfig", kernel.Save("Kernel"), kernelOptions);
     if (controlOptions != null)
         element.Add(controlOptions);
     element.Save(filename);
 }