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);
     }
 }
示例#2
0
 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);
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 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);
     }
 }