public void ExportBinary(IExportContainer container, Stream stream, Func <Version, GPUPlatform, ShaderTextExporter> exporterInstantiator) { if (IsSerialized(container.Version)) { using (ShaderWriter writer = new ShaderWriter(stream, this, exporterInstantiator)) { ParsedForm.Export(writer); } } else if (HasBlob(container.Version)) { using (ShaderWriter writer = new ShaderWriter(stream, this, exporterInstantiator)) { string header = Encoding.UTF8.GetString(Script); if (Blobs.Length == 0) { writer.Write(header); } else { Blobs[0].Export(writer, header); } } } else { base.ExportBinary(container, stream); } }
public void ExportBinary(IExportContainer container, Stream stream, Func <ShaderGpuProgramType, ShaderTextExporter> exporterInstantiator) { if (IsSerialized(container.Version)) { using (StreamWriter writer = new StreamWriter(stream)) { ParsedForm.Export(writer, this, exporterInstantiator); } } else if (IsEncoded(container.Version)) { using (StreamWriter writer = new StreamWriter(stream)) { SubProgramBlob.Export(writer, Script, exporterInstantiator); } } else { base.ExportBinary(container, stream); } }
public override void ExportBinary(IAssetsExporter exporter, Stream stream) { if (IsSerialized(exporter.Version)) { using (StreamWriter writer = new StreamWriter(stream)) { ParsedForm.Export(writer, this); } } else if (IsEncoded(exporter.Version)) { using (StreamWriter writer = new StreamWriter(stream)) { SubProgramBlob.Export(writer, Script); } } else { base.ExportBinary(exporter, stream); } }
public void ExportBinary(IExportContainer container, Stream stream, Func <Version, ShaderGpuProgramType, ShaderTextExporter> exporterInstantiator) { if (IsSerialized(container.Version)) { using (ShaderWriter writer = new ShaderWriter(stream, this, exporterInstantiator)) { ParsedForm.Export(writer); } } else if (IsEncoded(container.Version)) { using (ShaderWriter writer = new ShaderWriter(stream, this, exporterInstantiator)) { string header = Encoding.UTF8.GetString(Script); SubProgramBlob.Export(writer, header); } } else { base.ExportBinary(container, stream); } }