Пример #1
0
        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();
        }
Пример #2
0
        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();
        }