public DDSHeader(System.IO.BinaryReader reader) { Signature = reader.ReadInt32(); if (Signature != DDSHeader.DDSignature) { throw new Exception("This does not appear to be a DDS file"); } Size = reader.ReadInt32(); Flags = (DDS_Flags)reader.ReadInt32(); Height = reader.ReadInt32(); Width = reader.ReadInt32(); PitchOrLinearSize = reader.ReadInt32(); Depth = reader.ReadInt32(); MipMapCount = reader.ReadInt32(); Reserved0 = reader.ReadInt32(); Reserved1 = reader.ReadInt32(); Reserved2 = reader.ReadInt32(); Reserved3 = reader.ReadInt32(); Reserved4 = reader.ReadInt32(); Reserved5 = reader.ReadInt32(); Reserved6 = reader.ReadInt32(); Reserved7 = reader.ReadInt32(); Reserved8 = reader.ReadInt32(); Reserved9 = reader.ReadInt32(); ReservedA = reader.ReadInt32(); PixelFormat = new DDSPixelFormat(reader); Caps = (DDS_Caps)reader.ReadInt32(); Caps2 = (DDS_Caps2)reader.ReadInt32(); Caps3 = reader.ReadInt32(); Caps4 = reader.ReadInt32(); ReservedB = reader.ReadInt32(); }
private SurfaceFormat GetFormat(DDSPixelFormat pixelFormat) { switch (pixelFormat.Flags) { case PF_Flags.FOURCC: switch (pixelFormat.FourCC) { case PF_FourCC.DXT1: return(SurfaceFormat.Dxt1); default: throw new NotImplementedException(); } default: throw new NotImplementedException(); } }