Twilight Princess
Remastered version of the GameCube game
Loading...
Searching...
No Matches
DDS Class Reference
+ Inheritance diagram for DDS:
+ Collaboration diagram for DDS:

Classes

class  DX10Header
 
class  Header
 

Public Types

enum  CubemapFace {
  PosX , NegX , PosY , NegY ,
  PosZ , NegZ
}
 
enum  DDSD : uint {
  CAPS = 0x00000001 , HEIGHT = 0x00000002 , WIDTH = 0x00000004 , PITCH = 0x00000008 ,
  PIXELFORMAT = 0x00001000 , MIPMAPCOUNT = 0x00020000 , LINEARSIZE = 0x00080000 , DEPTH = 0x00800000
}
 
enum  DDPF : uint {
  ALPHAPIXELS = 0x00000001 , ALPHA = 0x00000002 , FOURCC = 0x00000004 , RGB = 0x00000040 ,
  YUV = 0x00000200 , LUMINANCE = 0x00020000
}
 
enum  DDSCAPS : uint { COMPLEX = 0x00000008 , TEXTURE = 0x00001000 , MIPMAP = 0x00400000 }
 
enum  DDSCAPS2 : uint {
  CUBEMAP = 0x00000200 , CUBEMAP_POSITIVEX = 0x00000400 | CUBEMAP , CUBEMAP_NEGATIVEX = 0x00000800 | CUBEMAP , CUBEMAP_POSITIVEY = 0x00001000 | CUBEMAP ,
  CUBEMAP_NEGATIVEY = 0x00002000 | CUBEMAP , CUBEMAP_POSITIVEZ = 0x00004000 | CUBEMAP , CUBEMAP_NEGATIVEZ = 0x00008000 | CUBEMAP , CUBEMAP_ALLFACES ,
  VOLUME = 0x00200000
}
 
enum  DXGI_FORMAT : uint {
  DXGI_FORMAT_UNKNOWN = 0 , DXGI_FORMAT_R32G32B32A32_TYPELESS = 1 , DXGI_FORMAT_R32G32B32A32_FLOAT = 2 , DXGI_FORMAT_R32G32B32A32_UINT = 3 ,
  DXGI_FORMAT_R32G32B32A32_SINT = 4 , DXGI_FORMAT_R32G32B32_TYPELESS = 5 , DXGI_FORMAT_R32G32B32_FLOAT = 6 , DXGI_FORMAT_R32G32B32_UINT = 7 ,
  DXGI_FORMAT_R32G32B32_SINT = 8 , DXGI_FORMAT_R16G16B16A16_TYPELESS = 9 , DXGI_FORMAT_R16G16B16A16_FLOAT = 10 , DXGI_FORMAT_R16G16B16A16_UNORM = 11 ,
  DXGI_FORMAT_R16G16B16A16_UINT = 12 , DXGI_FORMAT_R16G16B16A16_SNORM = 13 , DXGI_FORMAT_R16G16B16A16_SINT = 14 , DXGI_FORMAT_R32G32_TYPELESS = 15 ,
  DXGI_FORMAT_R32G32_FLOAT = 16 , DXGI_FORMAT_R32G32_UINT = 17 , DXGI_FORMAT_R32G32_SINT = 18 , DXGI_FORMAT_R32G8X24_TYPELESS = 19 ,
  DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20 , DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21 , DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22 , DXGI_FORMAT_R10G10B10A2_TYPELESS = 23 ,
  DXGI_FORMAT_R10G10B10A2_UNORM = 24 , DXGI_FORMAT_R10G10B10A2_UINT = 25 , DXGI_FORMAT_R11G11B10_FLOAT = 26 , DXGI_FORMAT_R8G8B8A8_TYPELESS = 27 ,
  DXGI_FORMAT_R8G8B8A8_UNORM = 28 , DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29 , DXGI_FORMAT_R8G8B8A8_UINT = 30 , DXGI_FORMAT_R8G8B8A8_SNORM = 31 ,
  DXGI_FORMAT_R8G8B8A8_SINT = 32 , DXGI_FORMAT_R16G16_TYPELESS = 33 , DXGI_FORMAT_R16G16_FLOAT = 34 , DXGI_FORMAT_R16G16_UNORM = 35 ,
  DXGI_FORMAT_R16G16_UINT = 36 , DXGI_FORMAT_R16G16_SNORM = 37 , DXGI_FORMAT_R16G16_SINT = 38 , DXGI_FORMAT_R32_TYPELESS = 39 ,
  DXGI_FORMAT_D32_FLOAT = 40 , DXGI_FORMAT_R32_FLOAT = 41 , DXGI_FORMAT_R32_UINT = 42 , DXGI_FORMAT_R32_SINT = 43 ,
  DXGI_FORMAT_R24G8_TYPELESS = 44 , DXGI_FORMAT_D24_UNORM_S8_UINT = 45 , DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46 , DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47 ,
  DXGI_FORMAT_R8G8_TYPELESS = 48 , DXGI_FORMAT_R8G8_UNORM = 49 , DXGI_FORMAT_R8G8_UINT = 50 , DXGI_FORMAT_R8G8_SNORM = 51 ,
  DXGI_FORMAT_R8G8_SINT = 52 , DXGI_FORMAT_R16_TYPELESS = 53 , DXGI_FORMAT_R16_FLOAT = 54 , DXGI_FORMAT_D16_UNORM = 55 ,
  DXGI_FORMAT_R16_UNORM = 56 , DXGI_FORMAT_R16_UINT = 57 , DXGI_FORMAT_R16_SNORM = 58 , DXGI_FORMAT_R16_SINT = 59 ,
  DXGI_FORMAT_R8_TYPELESS = 60 , DXGI_FORMAT_R8_UNORM = 61 , DXGI_FORMAT_R8_UINT = 62 , DXGI_FORMAT_R8_SNORM = 63 ,
  DXGI_FORMAT_R8_SINT = 64 , DXGI_FORMAT_A8_UNORM = 65 , DXGI_FORMAT_R1_UNORM = 66 , DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67 ,
  DXGI_FORMAT_R8G8_B8G8_UNORM = 68 , DXGI_FORMAT_G8R8_G8B8_UNORM = 69 , DXGI_FORMAT_BC1_TYPELESS = 70 , DXGI_FORMAT_BC1_UNORM = 71 ,
  DXGI_FORMAT_BC1_UNORM_SRGB = 72 , DXGI_FORMAT_BC2_TYPELESS = 73 , DXGI_FORMAT_BC2_UNORM = 74 , DXGI_FORMAT_BC2_UNORM_SRGB = 75 ,
  DXGI_FORMAT_BC3_TYPELESS = 76 , DXGI_FORMAT_BC3_UNORM = 77 , DXGI_FORMAT_BC3_UNORM_SRGB = 78 , DXGI_FORMAT_BC4_TYPELESS = 79 ,
  DXGI_FORMAT_BC4_UNORM = 80 , DXGI_FORMAT_BC4_SNORM = 81 , DXGI_FORMAT_BC5_TYPELESS = 82 , DXGI_FORMAT_BC5_UNORM = 83 ,
  DXGI_FORMAT_BC5_SNORM = 84 , DXGI_FORMAT_B5G6R5_UNORM = 85 , DXGI_FORMAT_B5G5R5A1_UNORM = 86 , DXGI_FORMAT_B8G8R8A8_UNORM = 87 ,
  DXGI_FORMAT_B8G8R8X8_UNORM = 88 , DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89 , DXGI_FORMAT_B8G8R8A8_TYPELESS = 90 , DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91 ,
  DXGI_FORMAT_B8G8R8X8_TYPELESS = 92 , DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93 , DXGI_FORMAT_BC6H_TYPELESS = 94 , DXGI_FORMAT_BC6H_UF16 = 95 ,
  DXGI_FORMAT_BC6H_SF16 = 96 , DXGI_FORMAT_BC7_TYPELESS = 97 , DXGI_FORMAT_BC7_UNORM = 98 , DXGI_FORMAT_BC7_UNORM_SRGB = 99 ,
  DXGI_FORMAT_AYUV = 100 , DXGI_FORMAT_Y410 = 101 , DXGI_FORMAT_Y416 = 102 , DXGI_FORMAT_NV12 = 103 ,
  DXGI_FORMAT_P010 = 104 , DXGI_FORMAT_P016 = 105 , DXGI_FORMAT_420_OPAQUE = 106 , DXGI_FORMAT_YUY2 = 107 ,
  DXGI_FORMAT_Y210 = 108 , DXGI_FORMAT_Y216 = 109 , DXGI_FORMAT_NV11 = 110 , DXGI_FORMAT_AI44 = 111 ,
  DXGI_FORMAT_IA44 = 112 , DXGI_FORMAT_P8 = 113 , DXGI_FORMAT_A8P8 = 114 , DXGI_FORMAT_B4G4R4A4_UNORM = 115 ,
  DXGI_FORMAT_P208 = 130 , DXGI_FORMAT_V208 = 131 , DXGI_FORMAT_V408 = 132 , DXGI_FORMAT_ASTC_4X4_UNORM = 134 ,
  DXGI_FORMAT_ASTC_4X4_UNORM_SRGB = 135 , DXGI_FORMAT_ASTC_5X4_TYPELESS = 137 , DXGI_FORMAT_ASTC_5X4_UNORM = 138 , DXGI_FORMAT_ASTC_5X4_UNORM_SRGB = 139 ,
  DXGI_FORMAT_ASTC_5X5_TYPELESS = 141 , DXGI_FORMAT_ASTC_5X5_UNORM = 142 , DXGI_FORMAT_ASTC_5X5_UNORM_SRGB = 143 , DXGI_FORMAT_ASTC_6X5_TYPELESS = 145 ,
  DXGI_FORMAT_ASTC_6X5_UNORM = 146 , DXGI_FORMAT_ASTC_6X5_UNORM_SRGB = 147 , DXGI_FORMAT_ASTC_6X6_TYPELESS = 149 , DXGI_FORMAT_ASTC_6X6_UNORM = 150 ,
  DXGI_FORMAT_ASTC_6X6_UNORM_SRGB = 151 , DXGI_FORMAT_ASTC_8X5_TYPELESS = 153 , DXGI_FORMAT_ASTC_8X5_UNORM = 154 , DXGI_FORMAT_ASTC_8X5_UNORM_SRGB = 155 ,
  DXGI_FORMAT_ASTC_8X6_TYPELESS = 157 , DXGI_FORMAT_ASTC_8X6_UNORM = 158 , DXGI_FORMAT_ASTC_8X6_UNORM_SRGB = 159 , DXGI_FORMAT_ASTC_8X8_TYPELESS = 161 ,
  DXGI_FORMAT_ASTC_8X8_UNORM = 162 , DXGI_FORMAT_ASTC_8X8_UNORM_SRGB = 163 , DXGI_FORMAT_ASTC_10X5_TYPELESS = 165 , DXGI_FORMAT_ASTC_10X5_UNORM = 166 ,
  DXGI_FORMAT_ASTC_10X5_UNORM_SRGB = 167 , DXGI_FORMAT_ASTC_10X6_TYPELESS = 169 , DXGI_FORMAT_ASTC_10X6_UNORM = 170 , DXGI_FORMAT_ASTC_10X6_UNORM_SRGB = 171 ,
  DXGI_FORMAT_ASTC_10X8_TYPELESS = 173 , DXGI_FORMAT_ASTC_10X8_UNORM = 174 , DXGI_FORMAT_ASTC_10X8_UNORM_SRGB = 175 , DXGI_FORMAT_ASTC_10X10_TYPELESS = 177 ,
  DXGI_FORMAT_ASTC_10X10_UNORM = 178 , DXGI_FORMAT_ASTC_10X10_UNORM_SRGB = 179 , DXGI_FORMAT_ASTC_12X10_TYPELESS = 181 , DXGI_FORMAT_ASTC_12X10_UNORM = 182 ,
  DXGI_FORMAT_ASTC_12X10_UNORM_SRGB = 183 , DXGI_FORMAT_ASTC_12X12_TYPELESS = 185 , DXGI_FORMAT_ASTC_12X12_UNORM = 186 , DXGI_FORMAT_ASTC_12X12_UNORM_SRGB = 187 ,
  DXGI_FORMAT_FORCE_UINT = 0xFFFFFFFF
}
 
enum  DXGI_ASTC_FORMAT
 

Public Member Functions

void SetFlags (DXGI_FORMAT Format, bool UseDX10=false, bool isCubeMap=false)
 
override void SetImageData (Bitmap bitmap, int ArrayLevel)
 
bool Identify (Stream stream)
 
void Unload ()
 
void Save (Stream stream)
 
void SetFourCC (DXGI_FORMAT Format)
 
 DDS ()
 
 DDS (byte[] data)
 
 DDS (string FileName)
 
void Load (BinaryDataReader reader)
 
override byte[] GetImageData (int ArrayLevel=0, int MipLevel=0, int DepthLevel=0)
 
void SetArrayLevel (byte[] data, int ArrayIndex, int DepthIndex=0)
 
TEX_FORMAT GetFormat ()
 
bool IsCompressed ()
 
void Save (DDS dds, string FileName, List< Surface > data=null)
 
void Save (DDS dds, Stream stream, List< Surface > data=null)
 
- Public Member Functions inherited from STGenericTexture
 STGenericTexture ()
 
byte[] GetImageData (int ArrayLevel=0, int MipLevel=0, int DepthLevel=0)
 
virtual byte[] GetPaletteData ()
 
List< SurfaceGet3DSurfaces (int IndexStart=0, bool GetAllSurfaces=true, int GetSurfaceAmount=1)
 
List< SurfaceGetSurfaces (int ArrayIndexStart=0, bool GetAllSurfaces=true, int GetSurfaceAmount=1)
 
void SetImageData (Bitmap bitmap, int ArrayLevel)
 
void CreateGenericTexture (uint width, uint height, List< Surface > surfaces, TEX_FORMAT format)
 
string DebugInfo ()
 Gets a Bitmap given an array and mip index.
 
uint GenerateMipCount (int Width, int Height)
 
byte[] GetBitmapData ()
 
Bitmap GetBitmapWithChannel ()
 
Bitmap GetBitmap (int ArrayLevel=0, int MipLevel=0, int DepthLevel=0)
 Gets a Bitmap given an array and mip index.
 
void SaveBitmap (string path)
 
void SaveDDS (string FileName, bool ExportSurfaceLevel=false, bool ExportMipMapLevel=false, int SurfaceLevel=0, int MipLevel=0)
 
uint GenerateMipCount (uint Width, uint Height)
 
Bitmap GetComponentBitmap (Bitmap image, bool ShowAlpha=true)
 

Static Public Member Functions

static byte[] GenerateMipsAndCompress (Bitmap bitmap, uint MipCount, TEX_FORMAT Format, bool multiThread=false, float alphaRef=0.5f, STCompressionMode CompressionMode=STCompressionMode.Fast)
 
static bool getFormatBlock (uint fourCC)
 
static List< SurfaceGetArrayFaces (STGenericTexture tex, byte[] ImageData, uint Length)
 
static List< SurfaceGetArrayFaces (DDS dds, uint Length, int DepthLevel=0)
 
static bool IsAtscFormat (TEX_FORMAT Format)
 
static byte[] CompressBC1Block (byte[] data, int Width, int Height)
 
static void ToRGBA (byte[] data, int Width, int Height, int bpp, int compSel)
 
- Static Public Member Functions inherited from STGenericTexture
static bool IsCompressed (TEX_FORMAT Format)
 
static bool IsCompressed2 (TEX_FORMAT Format)
 
static uint GetBytesPerPixel (TEX_FORMAT Format)
 
static uint GetBlockHeight (TEX_FORMAT Format)
 
static uint GetBlockWidth (TEX_FORMAT Format)
 
static uint GetBlockDepth (TEX_FORMAT Format)
 
static byte[] DecodeBlock (byte[] data, uint Width, uint Height, TEX_FORMAT Format, byte[] paletteData, ImageParameters parameters, PALETTE_FORMAT PaletteFormat=PALETTE_FORMAT.None, PlatformSwizzle PlatformSwizzle=PlatformSwizzle.None)
 Decodes a byte array of image data given the source image in bytes, width, height, and DXGI format.
 
static bool IsAtscFormat (TEX_FORMAT Format)
 
static STChannelType[] SetChannelsByFormat (TEX_FORMAT Format)
 
static int GenerateTotalMipCount (uint Width, uint Height)
 
static string SetNameFromPath (string path)
 
static byte[] ConvertBgraToRgba (byte[] bytes)
 

Public Attributes

PixelInternalFormat pixelInternalFormat
 
PixelFormat pixelFormat
 
PixelType pixelType
 
bool IsDX10
 
Header header
 
DX10Header DX10header
 
byte[] bdata
 
List< byte[]> mipmaps = new()
 
bool SwitchSwizzle = false
 
bool WiiUSwizzle = false
 
- Public Attributes inherited from STGenericTexture
ImageParameters Parameters = new()
 
STSurfaceType SurfaceType = STSurfaceType.Texture2D
 
PlatformSwizzle PlatformSwizzle
 The swizzle method to use when decoding or encoding back a texture.
 
STChannelType RedChannel = STChannelType.Red
 
STChannelType GreenChannel = STChannelType.Green
 
STChannelType BlueChannel = STChannelType.Blue
 
STChannelType AlphaChannel = STChannelType.Alpha
 

Static Public Attributes

const uint FOURCC_DXT1 = 0x31545844
 
const uint FOURCC_DXT2 = 0x32545844
 
const uint FOURCC_DXT3 = 0x33545844
 
const uint FOURCC_DXT4 = 0x34545844
 
const uint FOURCC_DXT5 = 0x35545844
 
const uint FOURCC_ATI1 = 0x31495441
 
const uint FOURCC_BC4U = 0x55344342
 
const uint FOURCC_BC4S = 0x53344342
 
const uint FOURCC_BC5U = 0x55354342
 
const uint FOURCC_BC5S = 0x53354342
 
const uint FOURCC_DX10 = 0x30315844
 
const uint FOURCC_ATI2 = 0x32495441
 
const uint FOURCC_RXGB = 0x42475852
 

Properties

STGenericTexture IconTexture [get]
 
override TEX_FORMAT[] SupportedFormats [get]
 
override bool CanEdit = true [get, set]
 
bool CanSave = false [get, set]
 
bool FileIsEdited = false [get, set]
 
bool FileIsCompressed = false [get, set]
 
string[] Description = new string[] { "Microsoft DDS" } [get, set]
 
string[] Extension = new string[] { "*.dds" } [get, set]
 
string FileName [get, set]
 
bool IsActive = false [get, set]
 
bool UseEditMenu = false [get, set]
 
int Alignment = 0 [get, set]
 
string FilePath [get, set]
 
Type[] Types [get]
 
- Properties inherited from STGenericTexture
bool IsCubemap [get]
 
bool IsSwizzled = true [get, set]
 
bool IsEdited = false [get, set]
 Is the texture edited or not. Used for the image editor for saving changes.
 
EditedBitmap[] EditedImages [get, set]
 An array of EditedBitmap from the image editor to be saved back.
 
bool CanEdit [get, set]
 
long DataSizeInBytes [get]
 The total length of all the bytes given from GetImageData.
 
uint ArrayCount [get, set]
 The total amount of surfaces for the texture.
 
uint MipCount [get, set]
 The total amount of mipmaps for the texture.
 
uint Width [get, set]
 The width of the image in pixels.
 
uint Height [get, set]
 The height of the image in pixels.
 
uint Depth [get, set]
 The depth of the image in pixels. Used for 3D types.
 
TEX_FORMAT Format = TEX_FORMAT.R8G8B8A8_UNORM [get, set]
 The TEX_FORMAT Format of the image.
 
TEX_FORMAT[] SupportedFormats [get]
 The PALETTE_FORMAT Format of the image.
 
Properties GenericProperties [get]
 

Private Member Functions

TEX_FORMAT GetUncompressedType (DDS dds, byte[] Components, bool IsRGB, bool HasAlpha, bool HasLuminance, Header.DDS_PixelFormat header)
 
void ReadDX10Header (BinaryDataReader reader)
 
void WriteDX10Header (BinaryDataWriter writer)
 

Static Private Member Functions

static byte[] ConvertRgb8ToRgbx8 (byte[] bytes)
 
static byte[] ConvertToRgba (DDS dds, string Format, int bpp, byte[] compSel)
 
static byte[] GetComponentsFromPixel (string Format, int pixel, byte[] comp)
 
static byte[] ConvertBgraToRgba (byte[] bytes)
 

Static Private Attributes

static int[] A1R5G5B5_MASKS = { 0x7C00, 0x03E0, 0x001F, 0x8000 }
 
static int[] X1R5G5B5_MASKS = { 0x7C00, 0x03E0, 0x001F, 0x0000 }
 
static int[] A4R4G4B4_MASKS = { 0x0F00, 0x00F0, 0x000F, 0xF000 }
 
static int[] X4R4G4B4_MASKS = { 0x0F00, 0x00F0, 0x000F, 0x0000 }
 
static int[] R5G6B5_MASKS = { 0xF800, 0x07E0, 0x001F, 0x0000 }
 
static int[] R8G8B8_MASKS = { 0xFF0000, 0x00FF00, 0x0000FF, 0x000000 }
 
static uint[] A8B8G8R8_MASKS = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }
 
static int[] X8B8G8R8_MASKS = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 }
 
static uint[] A8R8G8B8_MASKS = { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 }
 
static int[] X8R8G8B8_MASKS = { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 }
 
static int[] L8_MASKS = { 0x000000FF, 0x0000 }
 
static int[] A8L8_MASKS = { 0x000000FF, 0x0F00 }
 

Member Enumeration Documentation

◆ CubemapFace

Enumerator
PosX 
NegX 
PosY 
NegY 
PosZ 
NegZ 

◆ DDPF

enum DDS.DDPF : uint
Enumerator
ALPHAPIXELS 
ALPHA 
FOURCC 
RGB 
YUV 
LUMINANCE 

◆ DDSCAPS

enum DDS.DDSCAPS : uint
Enumerator
COMPLEX 
TEXTURE 
MIPMAP 

◆ DDSCAPS2

enum DDS.DDSCAPS2 : uint
Enumerator
CUBEMAP 
CUBEMAP_POSITIVEX 
CUBEMAP_NEGATIVEX 
CUBEMAP_POSITIVEY 
CUBEMAP_NEGATIVEY 
CUBEMAP_POSITIVEZ 
CUBEMAP_NEGATIVEZ 
CUBEMAP_ALLFACES 
VOLUME 

◆ DDSD

enum DDS.DDSD : uint
Enumerator
CAPS 
HEIGHT 
WIDTH 
PITCH 
PIXELFORMAT 
MIPMAPCOUNT 
LINEARSIZE 
DEPTH 

◆ DXGI_ASTC_FORMAT

◆ DXGI_FORMAT

enum DDS.DXGI_FORMAT : uint
Enumerator
DXGI_FORMAT_UNKNOWN 
DXGI_FORMAT_R32G32B32A32_TYPELESS 
DXGI_FORMAT_R32G32B32A32_FLOAT 
DXGI_FORMAT_R32G32B32A32_UINT 
DXGI_FORMAT_R32G32B32A32_SINT 
DXGI_FORMAT_R32G32B32_TYPELESS 
DXGI_FORMAT_R32G32B32_FLOAT 
DXGI_FORMAT_R32G32B32_UINT 
DXGI_FORMAT_R32G32B32_SINT 
DXGI_FORMAT_R16G16B16A16_TYPELESS 
DXGI_FORMAT_R16G16B16A16_FLOAT 
DXGI_FORMAT_R16G16B16A16_UNORM 
DXGI_FORMAT_R16G16B16A16_UINT 
DXGI_FORMAT_R16G16B16A16_SNORM 
DXGI_FORMAT_R16G16B16A16_SINT 
DXGI_FORMAT_R32G32_TYPELESS 
DXGI_FORMAT_R32G32_FLOAT 
DXGI_FORMAT_R32G32_UINT 
DXGI_FORMAT_R32G32_SINT 
DXGI_FORMAT_R32G8X24_TYPELESS 
DXGI_FORMAT_D32_FLOAT_S8X24_UINT 
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS 
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT 
DXGI_FORMAT_R10G10B10A2_TYPELESS 
DXGI_FORMAT_R10G10B10A2_UNORM 
DXGI_FORMAT_R10G10B10A2_UINT 
DXGI_FORMAT_R11G11B10_FLOAT 
DXGI_FORMAT_R8G8B8A8_TYPELESS 
DXGI_FORMAT_R8G8B8A8_UNORM 
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 
DXGI_FORMAT_R8G8B8A8_UINT 
DXGI_FORMAT_R8G8B8A8_SNORM 
DXGI_FORMAT_R8G8B8A8_SINT 
DXGI_FORMAT_R16G16_TYPELESS 
DXGI_FORMAT_R16G16_FLOAT 
DXGI_FORMAT_R16G16_UNORM 
DXGI_FORMAT_R16G16_UINT 
DXGI_FORMAT_R16G16_SNORM 
DXGI_FORMAT_R16G16_SINT 
DXGI_FORMAT_R32_TYPELESS 
DXGI_FORMAT_D32_FLOAT 
DXGI_FORMAT_R32_FLOAT 
DXGI_FORMAT_R32_UINT 
DXGI_FORMAT_R32_SINT 
DXGI_FORMAT_R24G8_TYPELESS 
DXGI_FORMAT_D24_UNORM_S8_UINT 
DXGI_FORMAT_R24_UNORM_X8_TYPELESS 
DXGI_FORMAT_X24_TYPELESS_G8_UINT 
DXGI_FORMAT_R8G8_TYPELESS 
DXGI_FORMAT_R8G8_UNORM 
DXGI_FORMAT_R8G8_UINT 
DXGI_FORMAT_R8G8_SNORM 
DXGI_FORMAT_R8G8_SINT 
DXGI_FORMAT_R16_TYPELESS 
DXGI_FORMAT_R16_FLOAT 
DXGI_FORMAT_D16_UNORM 
DXGI_FORMAT_R16_UNORM 
DXGI_FORMAT_R16_UINT 
DXGI_FORMAT_R16_SNORM 
DXGI_FORMAT_R16_SINT 
DXGI_FORMAT_R8_TYPELESS 
DXGI_FORMAT_R8_UNORM 
DXGI_FORMAT_R8_UINT 
DXGI_FORMAT_R8_SNORM 
DXGI_FORMAT_R8_SINT 
DXGI_FORMAT_A8_UNORM 
DXGI_FORMAT_R1_UNORM 
DXGI_FORMAT_R9G9B9E5_SHAREDEXP 
DXGI_FORMAT_R8G8_B8G8_UNORM 
DXGI_FORMAT_G8R8_G8B8_UNORM 
DXGI_FORMAT_BC1_TYPELESS 
DXGI_FORMAT_BC1_UNORM 
DXGI_FORMAT_BC1_UNORM_SRGB 
DXGI_FORMAT_BC2_TYPELESS 
DXGI_FORMAT_BC2_UNORM 
DXGI_FORMAT_BC2_UNORM_SRGB 
DXGI_FORMAT_BC3_TYPELESS 
DXGI_FORMAT_BC3_UNORM 
DXGI_FORMAT_BC3_UNORM_SRGB 
DXGI_FORMAT_BC4_TYPELESS 
DXGI_FORMAT_BC4_UNORM 
DXGI_FORMAT_BC4_SNORM 
DXGI_FORMAT_BC5_TYPELESS 
DXGI_FORMAT_BC5_UNORM 
DXGI_FORMAT_BC5_SNORM 
DXGI_FORMAT_B5G6R5_UNORM 
DXGI_FORMAT_B5G5R5A1_UNORM 
DXGI_FORMAT_B8G8R8A8_UNORM 
DXGI_FORMAT_B8G8R8X8_UNORM 
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 
DXGI_FORMAT_B8G8R8A8_TYPELESS 
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 
DXGI_FORMAT_B8G8R8X8_TYPELESS 
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB 
DXGI_FORMAT_BC6H_TYPELESS 
DXGI_FORMAT_BC6H_UF16 
DXGI_FORMAT_BC6H_SF16 
DXGI_FORMAT_BC7_TYPELESS 
DXGI_FORMAT_BC7_UNORM 
DXGI_FORMAT_BC7_UNORM_SRGB 
DXGI_FORMAT_AYUV 
DXGI_FORMAT_Y410 
DXGI_FORMAT_Y416 
DXGI_FORMAT_NV12 
DXGI_FORMAT_P010 
DXGI_FORMAT_P016 
DXGI_FORMAT_420_OPAQUE 
DXGI_FORMAT_YUY2 
DXGI_FORMAT_Y210 
DXGI_FORMAT_Y216 
DXGI_FORMAT_NV11 
DXGI_FORMAT_AI44 
DXGI_FORMAT_IA44 
DXGI_FORMAT_P8 
DXGI_FORMAT_A8P8 
DXGI_FORMAT_B4G4R4A4_UNORM 
DXGI_FORMAT_P208 
DXGI_FORMAT_V208 
DXGI_FORMAT_V408 
DXGI_FORMAT_ASTC_4X4_UNORM 
DXGI_FORMAT_ASTC_4X4_UNORM_SRGB 
DXGI_FORMAT_ASTC_5X4_TYPELESS 
DXGI_FORMAT_ASTC_5X4_UNORM 
DXGI_FORMAT_ASTC_5X4_UNORM_SRGB 
DXGI_FORMAT_ASTC_5X5_TYPELESS 
DXGI_FORMAT_ASTC_5X5_UNORM 
DXGI_FORMAT_ASTC_5X5_UNORM_SRGB 
DXGI_FORMAT_ASTC_6X5_TYPELESS 
DXGI_FORMAT_ASTC_6X5_UNORM 
DXGI_FORMAT_ASTC_6X5_UNORM_SRGB 
DXGI_FORMAT_ASTC_6X6_TYPELESS 
DXGI_FORMAT_ASTC_6X6_UNORM 
DXGI_FORMAT_ASTC_6X6_UNORM_SRGB 
DXGI_FORMAT_ASTC_8X5_TYPELESS 
DXGI_FORMAT_ASTC_8X5_UNORM 
DXGI_FORMAT_ASTC_8X5_UNORM_SRGB 
DXGI_FORMAT_ASTC_8X6_TYPELESS 
DXGI_FORMAT_ASTC_8X6_UNORM 
DXGI_FORMAT_ASTC_8X6_UNORM_SRGB 
DXGI_FORMAT_ASTC_8X8_TYPELESS 
DXGI_FORMAT_ASTC_8X8_UNORM 
DXGI_FORMAT_ASTC_8X8_UNORM_SRGB 
DXGI_FORMAT_ASTC_10X5_TYPELESS 
DXGI_FORMAT_ASTC_10X5_UNORM 
DXGI_FORMAT_ASTC_10X5_UNORM_SRGB 
DXGI_FORMAT_ASTC_10X6_TYPELESS 
DXGI_FORMAT_ASTC_10X6_UNORM 
DXGI_FORMAT_ASTC_10X6_UNORM_SRGB 
DXGI_FORMAT_ASTC_10X8_TYPELESS 
DXGI_FORMAT_ASTC_10X8_UNORM 
DXGI_FORMAT_ASTC_10X8_UNORM_SRGB 
DXGI_FORMAT_ASTC_10X10_TYPELESS 
DXGI_FORMAT_ASTC_10X10_UNORM 
DXGI_FORMAT_ASTC_10X10_UNORM_SRGB 
DXGI_FORMAT_ASTC_12X10_TYPELESS 
DXGI_FORMAT_ASTC_12X10_UNORM 
DXGI_FORMAT_ASTC_12X10_UNORM_SRGB 
DXGI_FORMAT_ASTC_12X12_TYPELESS 
DXGI_FORMAT_ASTC_12X12_UNORM 
DXGI_FORMAT_ASTC_12X12_UNORM_SRGB 
DXGI_FORMAT_FORCE_UINT 

Constructor & Destructor Documentation

◆ DDS() [1/3]

DDS.DDS ( )

◆ DDS() [2/3]

DDS.DDS ( byte[] data)

◆ DDS() [3/3]

DDS.DDS ( string FileName)

Member Function Documentation

◆ CompressBC1Block()

static byte[] DDS.CompressBC1Block ( byte[] data,
int Width,
int Height )
static

◆ ConvertBgraToRgba()

static byte[] DDS.ConvertBgraToRgba ( byte[] bytes)
staticprivate

◆ ConvertRgb8ToRgbx8()

static byte[] DDS.ConvertRgb8ToRgbx8 ( byte[] bytes)
staticprivate

◆ ConvertToRgba()

static byte[] DDS.ConvertToRgba ( DDS dds,
string Format,
int bpp,
byte[] compSel )
staticprivate

◆ GenerateMipsAndCompress()

static byte[] DDS.GenerateMipsAndCompress ( Bitmap bitmap,
uint MipCount,
TEX_FORMAT Format,
bool multiThread = false,
float alphaRef = 0::5f,
STCompressionMode CompressionMode = STCompressionMode::Fast )
static

◆ GetArrayFaces() [1/2]

static List< Surface > DDS.GetArrayFaces ( DDS dds,
uint Length,
int DepthLevel = 0 )
static

◆ GetArrayFaces() [2/2]

static List< Surface > DDS.GetArrayFaces ( STGenericTexture tex,
byte[] ImageData,
uint Length )
static

◆ GetComponentsFromPixel()

static byte[] DDS.GetComponentsFromPixel ( string Format,
int pixel,
byte[] comp )
staticprivate

◆ GetFormat()

TEX_FORMAT DDS.GetFormat ( )

◆ getFormatBlock()

static bool DDS.getFormatBlock ( uint fourCC)
static

◆ GetImageData()

override byte[] DDS.GetImageData ( int ArrayLevel = 0,
int MipLevel = 0,
int DepthLevel = 0 )

◆ GetUncompressedType()

TEX_FORMAT DDS.GetUncompressedType ( DDS dds,
byte[] Components,
bool IsRGB,
bool HasAlpha,
bool HasLuminance,
Header.DDS_PixelFormat header )
private

◆ Identify()

bool DDS.Identify ( Stream stream)

◆ IsAtscFormat()

static bool DDS.IsAtscFormat ( TEX_FORMAT Format)
static

◆ IsCompressed()

bool DDS.IsCompressed ( )

◆ Load()

void DDS.Load ( BinaryDataReader reader)

◆ ReadDX10Header()

void DDS.ReadDX10Header ( BinaryDataReader reader)
private

◆ Save() [1/3]

void DDS.Save ( DDS dds,
Stream stream,
List< Surface > data = null )

◆ Save() [2/3]

void DDS.Save ( DDS dds,
string FileName,
List< Surface > data = null )

◆ Save() [3/3]

void DDS.Save ( Stream stream)

◆ SetArrayLevel()

void DDS.SetArrayLevel ( byte[] data,
int ArrayIndex,
int DepthIndex = 0 )

◆ SetFlags()

void DDS.SetFlags ( DXGI_FORMAT Format,
bool UseDX10 = false,
bool isCubeMap = false )

◆ SetFourCC()

void DDS.SetFourCC ( DXGI_FORMAT Format)

◆ SetImageData()

override void DDS.SetImageData ( Bitmap bitmap,
int ArrayLevel )

◆ ToRGBA()

static void DDS.ToRGBA ( byte[] data,
int Width,
int Height,
int bpp,
int compSel )
static

◆ Unload()

void DDS.Unload ( )

◆ WriteDX10Header()

void DDS.WriteDX10Header ( BinaryDataWriter writer)
private

Member Data Documentation

◆ A1R5G5B5_MASKS

int [] DDS.A1R5G5B5_MASKS = { 0x7C00, 0x03E0, 0x001F, 0x8000 }
staticprivate

◆ A4R4G4B4_MASKS

int [] DDS.A4R4G4B4_MASKS = { 0x0F00, 0x00F0, 0x000F, 0xF000 }
staticprivate

◆ A8B8G8R8_MASKS

uint [] DDS.A8B8G8R8_MASKS = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }
staticprivate

◆ A8L8_MASKS

int [] DDS.A8L8_MASKS = { 0x000000FF, 0x0F00 }
staticprivate

◆ A8R8G8B8_MASKS

uint [] DDS.A8R8G8B8_MASKS = { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 }
staticprivate

◆ bdata

byte [] DDS.bdata

◆ DX10header

DX10Header DDS.DX10header

◆ FOURCC_ATI1

const uint DDS.FOURCC_ATI1 = 0x31495441
static

◆ FOURCC_ATI2

const uint DDS.FOURCC_ATI2 = 0x32495441
static

◆ FOURCC_BC4S

const uint DDS.FOURCC_BC4S = 0x53344342
static

◆ FOURCC_BC4U

const uint DDS.FOURCC_BC4U = 0x55344342
static

◆ FOURCC_BC5S

const uint DDS.FOURCC_BC5S = 0x53354342
static

◆ FOURCC_BC5U

const uint DDS.FOURCC_BC5U = 0x55354342
static

◆ FOURCC_DX10

const uint DDS.FOURCC_DX10 = 0x30315844
static

◆ FOURCC_DXT1

const uint DDS.FOURCC_DXT1 = 0x31545844
static

◆ FOURCC_DXT2

const uint DDS.FOURCC_DXT2 = 0x32545844
static

◆ FOURCC_DXT3

const uint DDS.FOURCC_DXT3 = 0x33545844
static

◆ FOURCC_DXT4

const uint DDS.FOURCC_DXT4 = 0x34545844
static

◆ FOURCC_DXT5

const uint DDS.FOURCC_DXT5 = 0x35545844
static

◆ FOURCC_RXGB

const uint DDS.FOURCC_RXGB = 0x42475852
static

◆ header

Header DDS.header

◆ IsDX10

bool DDS.IsDX10

◆ L8_MASKS

int [] DDS.L8_MASKS = { 0x000000FF, 0x0000 }
staticprivate

◆ mipmaps

List<byte[]> DDS.mipmaps = new()

◆ pixelFormat

PixelFormat DDS.pixelFormat

◆ pixelInternalFormat

PixelInternalFormat DDS.pixelInternalFormat

◆ pixelType

PixelType DDS.pixelType

◆ R5G6B5_MASKS

int [] DDS.R5G6B5_MASKS = { 0xF800, 0x07E0, 0x001F, 0x0000 }
staticprivate

◆ R8G8B8_MASKS

int [] DDS.R8G8B8_MASKS = { 0xFF0000, 0x00FF00, 0x0000FF, 0x000000 }
staticprivate

◆ SwitchSwizzle

bool DDS.SwitchSwizzle = false

◆ WiiUSwizzle

bool DDS.WiiUSwizzle = false

◆ X1R5G5B5_MASKS

int [] DDS.X1R5G5B5_MASKS = { 0x7C00, 0x03E0, 0x001F, 0x0000 }
staticprivate

◆ X4R4G4B4_MASKS

int [] DDS.X4R4G4B4_MASKS = { 0x0F00, 0x00F0, 0x000F, 0x0000 }
staticprivate

◆ X8B8G8R8_MASKS

int [] DDS.X8B8G8R8_MASKS = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 }
staticprivate

◆ X8R8G8B8_MASKS

int [] DDS.X8R8G8B8_MASKS = { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 }
staticprivate

Property Documentation

◆ Alignment

int DDS.Alignment = 0
getset

◆ CanEdit

override bool DDS.CanEdit = true
getset

◆ CanSave

bool DDS.CanSave = false
getset

◆ Description

string [] DDS.Description = new string[] { "Microsoft DDS" }
getset

◆ Extension

string [] DDS.Extension = new string[] { "*.dds" }
getset

◆ FileIsCompressed

bool DDS.FileIsCompressed = false
getset

◆ FileIsEdited

bool DDS.FileIsEdited = false
getset

◆ FileName

string DDS.FileName
getset

◆ FilePath

string DDS.FilePath
getset

◆ IconTexture

STGenericTexture DDS.IconTexture
get

◆ IsActive

bool DDS.IsActive = false
getset

◆ SupportedFormats

override TEX_FORMAT [] DDS.SupportedFormats
get

◆ Types

Type [] DDS.Types
get

◆ UseEditMenu

bool DDS.UseEditMenu = false
getset

The documentation for this class was generated from the following file: