public static void WriteSRDFileCube(string filename, SoftwareImage <T>[] images) { var file = new SRDFile(filename); var size = images[0].Width; file.WriteHeaders(new SRDFileHeader { Magic = SRDFile.Magic[2], Format = images[0].PixelTransformer.DXGIFormat, MipLevel = 1, ArraySize = 1, }, new[] { new SRDSegmentHeader { Offset = 0, Width = (ushort)size, Height = (ushort)size, Depth = 6, Stride = (ushort)(Marshal.SizeOf <T>() * size), Slice = (uint)(Marshal.SizeOf <T>() * size * size), }, }); file.WriteOffset(0); file.Write(images[0].RawData); file.Write(images[1].RawData); file.Write(images[2].RawData); file.Write(images[3].RawData); file.Write(images[4].RawData); file.Write(images[5].RawData); file.Close(); }
public void WriteSRDFile(string filename) { var file = new SRDFile(filename); file.WriteHeaders(new SRDFileHeader { Magic = SRDFile.Magic[2], Format = PixelTransformer.DXGIFormat, MipLevel = 1, ArraySize = 1, }, new[] { new SRDSegmentHeader { Offset = 0, Width = (ushort)Width, Height = (ushort)Height, Depth = 1, Stride = (ushort)(16 * Width), Slice = 0, }, }); file.WriteOffset(0); file.Write(RawData); file.Close(); }