public DdsPixelFormat(DdsPFType type) { switch (type) { case DdsPFType.RGB: flags = DDPF_RGB; compressionName = "RGB ".ToCharArray(); RGBBitCount = 24; RBitMask = 0xFF0000; GBitMask = 0x00FF00; BBitMask = 0x0000FF; break; case DdsPFType.RGBA: flags = DDPF_RGB | DDPF_ALPHAPIXELS; compressionName = "RGBA".ToCharArray(); RGBBitCount = 32; RBitMask = 0xFF000000; GBitMask = 0x00FF0000; BBitMask = 0x0000FF00; ABitMask = 0x000000FF; break; case DdsPFType.DXT1: flags = DDPF_FOURCC; compressionName = "DXT1".ToCharArray(); RGBBitCount = 12; RBitMask = 0xFF000000; GBitMask = 0x00FF0000; BBitMask = 0x0000FF00; break; case DdsPFType.DXT3: flags = DDPF_FOURCC; compressionName = "DXT3".ToCharArray(); RGBBitCount = 16; RBitMask = 0xFF000000; GBitMask = 0x00FF0000; BBitMask = 0x0000FF00; break; case DdsPFType.DXT5: flags = DDPF_FOURCC; compressionName = "DXT5".ToCharArray(); RGBBitCount = 64; RBitMask = 0xFF000000; GBitMask = 0x00FF0000; BBitMask = 0x0000FF00; break; case DdsPFType.ATI2n: flags = DDPF_FOURCC; compressionName = "ATI2".ToCharArray(); RGBBitCount = 64; break; } }
public DdsPixelFormat(DdsPFType type) { switch (type) { case DdsPFType.RGB: Flags = DDPF_RGB; RGBBitCount = 24; CompressionName = "RGB "; RBitMask = 0x0000FF; GBitMask = 0x00FF00; BBitMask = 0xFF0000; break; case DdsPFType.RGBA: Flags = DDPF_RGB | DDPF_ALPHAPIXELS; RGBBitCount = 32; CompressionName = "RGBA"; RBitMask = 0x000000FF; GBitMask = 0x0000FF00; BBitMask = 0x00FF0000; ABitMask = 0xFF000000; break; case DdsPFType.DXT1: Flags = DDPF_FOURCC; CompressionName = "DXT1"; RGBBitCount = 16; RBitMask = 0x0F; GBitMask = 0xFF; BBitMask = 0xF0; break; case DdsPFType.DXT2: Flags = DDPF_FOURCC; CompressionName = "DXT2"; RGBBitCount = 24; RBitMask = 0xF0000000; GBitMask = 0x0F000000; BBitMask = 0x00F00000; ABitMask = 0x000F0000; break; case DdsPFType.DXT3: Flags = DDPF_FOURCC; CompressionName = "DXT3"; RGBBitCount = 24; RBitMask = 0xF0000000; GBitMask = 0x0F000000; BBitMask = 0x00F00000; ABitMask = 0x000FF000; break; case DdsPFType.DXT4: Flags = DDPF_FOURCC; CompressionName = "DXT4"; RGBBitCount = 32; RBitMask = 0xFF000000; break; case DdsPFType.DXT5: Flags = DDPF_FOURCC; CompressionName = "DXT5"; RGBBitCount = 64; RBitMask = 0xFF000000; GBitMask = 0x00FF0000; break; case DdsPFType.ATI2: Flags = DDPF_FOURCC; CompressionName = "ATI2"; RGBBitCount = 16; break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }