Win32 API 日本語リファレンス
ホームGraphics.Direct3D9 › D3DFORMAT

D3DFORMAT

列挙型
基底型u4

メンバー 65

名前10進16進
D3DFMT_UNKNOWN00x0
D3DFMT_R8G8B8200x14
D3DFMT_A8R8G8B8210x15
D3DFMT_X8R8G8B8220x16
D3DFMT_R5G6B5230x17
D3DFMT_X1R5G5B5240x18
D3DFMT_A1R5G5B5250x19
D3DFMT_A4R4G4B4260x1A
D3DFMT_R3G3B2270x1B
D3DFMT_A8280x1C
D3DFMT_A8R3G3B2290x1D
D3DFMT_X4R4G4B4300x1E
D3DFMT_A2B10G10R10310x1F
D3DFMT_A8B8G8R8320x20
D3DFMT_X8B8G8R8330x21
D3DFMT_G16R16340x22
D3DFMT_A2R10G10B10350x23
D3DFMT_A16B16G16R16360x24
D3DFMT_A8P8400x28
D3DFMT_P8410x29
D3DFMT_L8500x32
D3DFMT_A8L8510x33
D3DFMT_A4L4520x34
D3DFMT_V8U8600x3C
D3DFMT_L6V5U5610x3D
D3DFMT_X8L8V8U8620x3E
D3DFMT_Q8W8V8U8630x3F
D3DFMT_V16U16640x40
D3DFMT_A2W10V10U10670x43
D3DFMT_UYVY14988311890x59565955
D3DFMT_R8G8_B8G811955259700x47424752
D3DFMT_YUY28447153530x32595559
D3DFMT_G8R8_G8B811119703750x42475247
D3DFMT_DXT18276112040x31545844
D3DFMT_DXT28443884200x32545844
D3DFMT_DXT38611656360x33545844
D3DFMT_DXT48779428520x34545844
D3DFMT_DXT58947200680x35545844
D3DFMT_D16_LOCKABLE700x46
D3DFMT_D32710x47
D3DFMT_D15S1730x49
D3DFMT_D24S8750x4B
D3DFMT_D24X8770x4D
D3DFMT_D24X4S4790x4F
D3DFMT_D16800x50
D3DFMT_D32F_LOCKABLE820x52
D3DFMT_D24FS8830x53
D3DFMT_D32_LOCKABLE840x54
D3DFMT_S8_LOCKABLE850x55
D3DFMT_L16810x51
D3DFMT_VERTEXDATA1000x64
D3DFMT_INDEX161010x65
D3DFMT_INDEX321020x66
D3DFMT_Q16W16V16U161100x6E
D3DFMT_MULTI2_ARGB88276063490x3154454D
D3DFMT_R16F1110x6F
D3DFMT_G16R16F1120x70
D3DFMT_A16B16G16R16F1130x71
D3DFMT_R32F1140x72
D3DFMT_G32R32F1150x73
D3DFMT_A32B32G32R32F1160x74
D3DFMT_CxV8U81170x75
D3DFMT_A11180x76
D3DFMT_A2B10G10R10_XR_BIAS1190x77
D3DFMT_BINARYBUFFER1990xC7

公式ドキュメント

サーフェス フォーマットのさまざまな種類を定義します。

typedef enum _D3DFORMAT {
    D3DFMT_UNKNOWN              =  0,

    D3DFMT_R8G8B8               = 20,
    D3DFMT_A8R8G8B8             = 21,
    D3DFMT_X8R8G8B8             = 22,
    D3DFMT_R5G6B5               = 23,
    D3DFMT_X1R5G5B5             = 24,
    D3DFMT_A1R5G5B5             = 25,
    D3DFMT_A4R4G4B4             = 26,
    D3DFMT_R3G3B2               = 27,
    D3DFMT_A8                   = 28,
    D3DFMT_A8R3G3B2             = 29,
    D3DFMT_X4R4G4B4             = 30,
    D3DFMT_A2B10G10R10          = 31,
    D3DFMT_A8B8G8R8             = 32,
    D3DFMT_X8B8G8R8             = 33,
    D3DFMT_G16R16               = 34,
    D3DFMT_A2R10G10B10          = 35,
    D3DFMT_A16B16G16R16         = 36,

    D3DFMT_A8P8                 = 40,
    D3DFMT_P8                   = 41,

    D3DFMT_L8                   = 50,
    D3DFMT_A8L8                 = 51,
    D3DFMT_A4L4                 = 52,

    D3DFMT_V8U8                 = 60,
    D3DFMT_L6V5U5               = 61,
    D3DFMT_X8L8V8U8             = 62,
    D3DFMT_Q8W8V8U8             = 63,
    D3DFMT_V16U16               = 64,
    D3DFMT_A2W10V10U10          = 67,

    D3DFMT_UYVY                 = MAKEFOURCC('U', 'Y', 'V', 'Y'),
    D3DFMT_R8G8_B8G8            = MAKEFOURCC('R', 'G', 'B', 'G'),
    D3DFMT_YUY2                 = MAKEFOURCC('Y', 'U', 'Y', '2'),
    D3DFMT_G8R8_G8B8            = MAKEFOURCC('G', 'R', 'G', 'B'),
    D3DFMT_DXT1                 = MAKEFOURCC('D', 'X', 'T', '1'),
    D3DFMT_DXT2                 = MAKEFOURCC('D', 'X', 'T', '2'),
    D3DFMT_DXT3                 = MAKEFOURCC('D', 'X', 'T', '3'),
    D3DFMT_DXT4                 = MAKEFOURCC('D', 'X', 'T', '4'),
    D3DFMT_DXT5                 = MAKEFOURCC('D', 'X', 'T', '5'),

    D3DFMT_D16_LOCKABLE         = 70,
    D3DFMT_D32                  = 71,
    D3DFMT_D15S1                = 73,
    D3DFMT_D24S8                = 75,
    D3DFMT_D24X8                = 77,
    D3DFMT_D24X4S4              = 79,
    D3DFMT_D16                  = 80,

    D3DFMT_D32F_LOCKABLE        = 82,
    D3DFMT_D24FS8               = 83,

#if !defined(D3D_DISABLE_9EX)
    D3DFMT_D32_LOCKABLE         = 84,
    D3DFMT_S8_LOCKABLE          = 85,
#endif // !D3D_DISABLE_9EX

    D3DFMT_L16                  = 81,

    D3DFMT_VERTEXDATA           =100,
    D3DFMT_INDEX16              =101,
    D3DFMT_INDEX32              =102,

    D3DFMT_Q16W16V16U16         =110,

    D3DFMT_MULTI2_ARGB8         = MAKEFOURCC('M','E','T','1'),

    D3DFMT_R16F                 = 111,
    D3DFMT_G16R16F              = 112,
    D3DFMT_A16B16G16R16F        = 113,

    D3DFMT_R32F                 = 114,
    D3DFMT_G32R32F              = 115,
    D3DFMT_A32B32G32R32F        = 116,

    D3DFMT_CxV8U8               = 117,

#if !defined(D3D_DISABLE_9EX)
    D3DFMT_A1                   = 118,
    D3DFMT_A2B10G10R10_XR_BIAS  = 119,
    D3DFMT_BINARYBUFFER         = 199,
#endif // !D3D_DISABLE_9EX

    D3DFMT_FORCE_DWORD          =0x7fffffff
} D3DFORMAT;

解説(Remarks)

フォーマットにはいくつかの種類があります:

すべてのフォーマットは、左から右へ、最上位ビットから最下位ビットの順に記載されています。たとえば D3DFORMAT_ARGB は、最上位ビットのチャネル A (アルファ) から最下位ビットのチャネル B (青) の順に並んでいます。サーフェス データをたどる際、データはメモリ内で最下位ビットから最上位ビットへと格納されます。つまり、メモリ内のチャネルの順序は最下位ビット (青) から最上位ビット (アルファ) になります。

未定義のチャネルを含むフォーマット (G16R16、A8 など) の既定値は 1 です。唯一の例外は A8 フォーマットで、3 つのカラー チャネルは 000 に初期化されます。

ビットの順序は最上位バイトからとなるため、D3DFMT_A8L8 は、この 2 バイト フォーマットの上位バイトがアルファであることを示します。D3DFMT_D16 は、16 ビットの整数値とアプリケーションからロック可能なサーフェスを示します。

ピクセル フォーマットは、ハードウェア ベンダーが定義する拡張フォーマットを表現できるようにするとともに、広く確立された FOURCC 方式を含められるように選択されています。Direct3D ランタイムが認識するフォーマットの集合は D3DFORMAT で定義されます。

フォーマットは独立系ハードウェア ベンダー (IHV) から提供されるものであり、多くの FOURCC コードは一覧に記載されていないことに注意してください。この列挙型のフォーマットは、ランタイムによって公認されている点で特別であり、リファレンス ラスタライザーがこれらすべての型を扱えることを意味します。IHV が提供するフォーマットは、各 IHV によってカードごとにサポートされます。

バックバッファーまたはディスプレイのフォーマット

これらのフォーマットは、バック バッファーまたはディスプレイに指定できる唯一の有効なフォーマットです。

フォーマット バック バッファー ディスプレイ
A2R10G10B10 はい はい (全画面モードのみ)
A8R8G8B8 はい
X8R8G8B8 はい はい
A1R5G5B5 はい
X1R5G5B5 はい はい
R5G6B5 はい はい

 

バッファーのフォーマット

深度、ステンシル、頂点、インデックスの各バッファーには、それぞれ固有のフォーマットがあります。

バッファーのフラグ フォーマット
D3DFMT_D16_LOCKABLE 70 16 ビットの Z バッファーのビット深度。
D3DFMT_D32 71 32 ビットの Z バッファーのビット深度。
D3DFMT_D15S1 73 16 ビットの Z バッファーのビット深度。15 ビットが深度チャネル用、1 ビットがステンシル チャネル用に予約されます。
D3DFMT_D24S8 75 32 ビットの Z バッファーのビット深度。深度チャネルに 24 ビット、ステンシル チャネルに 8 ビットを使用します。
D3DFMT_D24X8 77 32 ビットの Z バッファーのビット深度。深度チャネルに 24 ビットを使用します。
D3DFMT_D24X4S4 79 32 ビットの Z バッファーのビット深度。深度チャネルに 24 ビット、ステンシル チャネルに 4 ビットを使用します。
D3DFMT_D32F_LOCKABLE 82 ロック可能なフォーマットで、深度値は標準的な IEEE 浮動小数点数として表現されます。
D3DFMT_D24FS8 83 ロックできないフォーマットで、24 ビットの深度 (24 ビットの浮動小数点形式 20e4) と 8 ビットのステンシルを含みます。
D3DFMT_D32_LOCKABLE 84 ロック可能な 32 ビットの深度バッファー。Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。
D3DFMT_S8_LOCKABLE 85 ロック可能な 8 ビットのステンシル バッファー。Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。
D3DFMT_D16 80 16 ビットの Z バッファーのビット深度。
D3DFMT_VERTEXDATA 100 頂点バッファー サーフェスを表します。
D3DFMT_INDEX16 101 16 ビットのインデックス バッファーのビット深度。
D3DFMT_INDEX32 102 32 ビットのインデックス バッファーのビット深度。

 

D3DFMT_D16_LOCKABLE を除くすべての深度ステンシル フォーマットは、ピクセルごとの特定のビット順序を示しません。またドライバーは、深度チャネルについては示されたビット数より多くのビットを使用できます (ステンシル チャネルは除く)。

DXTn 圧縮テクスチャ フォーマット

これらのフラグは圧縮テクスチャに使用されます:

DXTn 圧縮テクスチャのフラグ フォーマット
D3DFMT_DXT1 MAKEFOURCC('D', 'X', 'T', '1') DXT1 圧縮テクスチャ フォーマット
D3DFMT_DXT2 MAKEFOURCC('D', 'X', 'T', '2') DXT2 圧縮テクスチャ フォーマット
D3DFMT_DXT3 MAKEFOURCC('D', 'X', 'T', '3') DXT3 圧縮テクスチャ フォーマット
D3DFMT_DXT4 MAKEFOURCC('D', 'X', 'T', '4') DXT4 圧縮テクスチャ フォーマット
D3DFMT_DXT5 MAKEFOURCC('D', 'X', 'T', '5') DXT5 圧縮テクスチャ フォーマット

 

ランタイムは、サーフェスの各辺のサイズが 4 の倍数でない限り、アプリケーションが DXTn フォーマットのサーフェスを作成することを許可しません。これはオフスクリーン プレーン サーフェス、レンダー ターゲット、2D テクスチャ、キューブ テクスチャ、ボリューム テクスチャに適用されます。

浮動小数点フォーマット

これらのフラグは浮動小数点のサーフェス フォーマットに使用されます。1 チャネルあたり 16 ビットのこれらのフォーマットは、s10e5 フォーマットとも呼ばれます。

浮動小数点のフラグ フォーマット
D3DFMT_R16F 111 赤チャネルに 16 ビットを使用する 16 ビットの浮動小数点フォーマット。
D3DFMT_G16R16F 112 赤チャネルに 16 ビット、緑チャネルに 16 ビットを使用する 32 ビットの浮動小数点フォーマット。
D3DFMT_A16B16G16R16F 113 各チャネル (アルファ、青、緑、赤) に 16 ビットを使用する 64 ビットの浮動小数点フォーマット。

 

FOURCC フォーマット

FOURCC フォーマットのデータは圧縮されたデータです。

MAKEFOURCC

4 文字コードを生成するマクロを次に示します:

#define MAKEFOURCC(ch0, ch1, ch2, ch3)                              \
                ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) |   \
                ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))

定義されている FOURCC フォーマットを次に示します:

FOURCC のフラグ フォーマット
D3DFMT_MULTI2_ARGB8 MAKEFOURCC('M','E','T','1') マルチ要素テクスチャ (非圧縮)
D3DFMT_G8R8_G8B8 MAKEFOURCC('G', 'R', 'G', 'B') YUY2 に類似した 16 ビットのパック RGB フォーマット (Y0U0、Y1V0、Y2U2 など)。色の値を正しく表現するにはピクセルのペアが必要です。ペアの最初のピクセルには 8 ビットの緑 (上位 8 ビット) と 8 ビットの赤 (下位 8 ビット) が含まれます。2 番目のピクセルには 8 ビットの緑 (上位 8 ビット) と 8 ビットの青 (下位 8 ビット) が含まれます。2 つのピクセルは赤と青の成分を共有し、緑の成分はそれぞれ固有です (G0R0、G1B0、G2R2 など)。テクスチャ サンプラーは、ピクセル シェーダーでの参照時に色を正規化しません。色は 0.0f から 255.0f の範囲のまま保たれます。これはすべてのプログラマブル ピクセル シェーダー モデルに当てはまります。固定機能ピクセル シェーダーの場合、ハードウェアは 0.f から 1.f の範囲に正規化し、実質的に YUY2 テクスチャとして扱う必要があります。このフォーマットを公開するハードウェアは、D3DCAPS9 の PixelShader1xMaxValue メンバーに、その範囲を扱える値を設定する必要があります。
D3DFMT_R8G8_B8G8 MAKEFOURCC('R', 'G', 'B', 'G') UYVY に類似した 16 ビットのパック RGB フォーマット (U0Y0、V0Y1、U2Y2 など)。色の値を正しく表現するにはピクセルのペアが必要です。ペアの最初のピクセルには 8 ビットの緑 (下位 8 ビット) と 8 ビットの赤 (上位 8 ビット) が含まれます。2 番目のピクセルには 8 ビットの緑 (下位 8 ビット) と 8 ビットの青 (上位 8 ビット) が含まれます。2 つのピクセルは赤と青の成分を共有し、緑の成分はそれぞれ固有です (R0G0、B0G1、R2G2 など)。テクスチャ サンプラーは、ピクセル シェーダーでの参照時に色を正規化しません。色は 0.0f から 255.0f の範囲のまま保たれます。これはすべてのプログラマブル ピクセル シェーダー モデルに当てはまります。固定機能ピクセル シェーダーの場合、ハードウェアは 0.f から 1.f の範囲に正規化し、実質的に YUY2 テクスチャとして扱う必要があります。このフォーマットを公開するハードウェアは、D3DCAPS9 の PixelShader1xMaxValue メンバーに、その範囲を扱える値を設定する必要があります。
D3DFMT_UYVY MAKEFOURCC('U', 'Y', 'V', 'Y') UYVY フォーマット (PC98 準拠)
D3DFMT_YUY2 MAKEFOURCC('Y', 'U', 'Y', '2') YUY2 フォーマット (PC98 準拠)

 

IEEE フォーマット

これらのフラグは浮動小数点のサーフェス フォーマットに使用されます。1 チャネルあたり 32 ビットのこれらのフォーマットは、s23e8 フォーマットとも呼ばれます。

浮動小数点のフラグ フォーマット
D3DFMT_R32F 114 赤チャネルに 32 ビットを使用する 32 ビットの浮動小数点フォーマット。
D3DFMT_G32R32F 115 赤チャネルに 32 ビット、緑チャネルに 32 ビットを使用する 64 ビットの浮動小数点フォーマット。
D3DFMT_A32B32G32R32F 116 各チャネル (アルファ、青、緑、赤) に 32 ビットを使用する 128 ビットの浮動小数点フォーマット。

 

混合フォーマット

混合フォーマットのデータには、符号なしデータと符号付きデータの組み合わせを含めることができます。

混合フォーマットのフラグ フォーマット
D3DFMT_L6V5U5 61 輝度を含む 16 ビットのバンプ マップ フォーマット。輝度に 6 ビット、v と u にそれぞれ 5 ビットを使用します。
D3DFMT_X8L8V8U8 62 輝度を含む 32 ビットのバンプ マップ フォーマット。各チャネルに 8 ビットを使用します。
D3DFMT_A2W10V10U10 67 32 ビットのバンプ マップ フォーマット。アルファに 2 ビット、w、v、u にそれぞれ 10 ビットを使用します。

 

符号付きフォーマット

符号付きフォーマットのデータは、正の値にも負の値にもなります。符号付きフォーマットは、(U)、(V)、(W)、(Q) のデータの組み合わせを使用します。

符号付きフォーマットのフラグ フォーマット
D3DFMT_V8U8 60 u と v のデータにそれぞれ 8 ビットを使用する 16 ビットのバンプ マップ フォーマット。
D3DFMT_Q8W8V8U8 63 各チャネルに 8 ビットを使用する 32 ビットのバンプ マップ フォーマット。
D3DFMT_V16U16 64 各チャネルに 16 ビットを使用する 32 ビットのバンプ マップ フォーマット。
D3DFMT_Q16W16V16U16 110 各成分に 16 ビットを使用する 64 ビットのバンプ マップ フォーマット。
D3DFMT_CxV8U8 117 16 ビットの法線圧縮フォーマット。テクスチャ サンプラーは、C = sqrt(1 - U² - V²) によって C チャネルを計算します。

 

符号なしフォーマット

符号なしフォーマットのデータは正でなければなりません。符号なしフォーマットは、(R) 赤、(G) 緑、(B) 青、(A) アルファ、(L) 輝度、(P) パレットのデータの組み合わせを使用します。パレット データは、カラー パレットのインデックス指定に使用されるため、カラー インデックス データとも呼ばれます。

符号なしフォーマットのフラグ フォーマット
D3DFMT_R8G8B8 20 1 チャネルあたり 8 ビットの 24 ビット RGB ピクセル フォーマット。
D3DFMT_A8R8G8B8 21 1 チャネルあたり 8 ビットを使用する、アルファ付きの 32 ビット ARGB ピクセル フォーマット。
D3DFMT_X8R8G8B8 22 各色に 8 ビットが予約された 32 ビット RGB ピクセル フォーマット。
D3DFMT_R5G6B5 23 赤に 5 ビット、緑に 6 ビット、青に 5 ビットを使用する 16 ビット RGB ピクセル フォーマット。
D3DFMT_X1R5G5B5 24 各色に 5 ビットが予約された 16 ビット ピクセル フォーマット。
D3DFMT_A1R5G5B5 25 各色に 5 ビット、アルファに 1 ビットが予約された 16 ビット ピクセル フォーマット。
D3DFMT_A4R4G4B4 26 各チャネルに 4 ビットを使用する 16 ビット ARGB ピクセル フォーマット。
D3DFMT_R3G3B2 27 赤に 3 ビット、緑に 3 ビット、青に 2 ビットを使用する 8 ビット RGB テクスチャ フォーマット。
D3DFMT_A8 28 8 ビットのアルファのみ。
D3DFMT_A8R3G3B2 29 アルファに 8 ビット、赤と緑にそれぞれ 3 ビット、青に 2 ビットを使用する 16 ビット ARGB テクスチャ フォーマット。
D3DFMT_X4R4G4B4 30 各色に 4 ビットを使用する 16 ビット RGB ピクセル フォーマット。
D3DFMT_A2B10G10R10 31 各色に 10 ビット、アルファに 2 ビットを使用する 32 ビット ピクセル フォーマット。
D3DFMT_A8B8G8R8 32 1 チャネルあたり 8 ビットを使用する、アルファ付きの 32 ビット ARGB ピクセル フォーマット。
D3DFMT_X8B8G8R8 33 各色に 8 ビットが予約された 32 ビット RGB ピクセル フォーマット。
D3DFMT_G16R16 34 緑と赤にそれぞれ 16 ビットを使用する 32 ビット ピクセル フォーマット。
D3DFMT_A2R10G10B10 35 赤、緑、青にそれぞれ 10 ビット、アルファに 2 ビットを使用する 32 ビット ピクセル フォーマット。
D3DFMT_A16B16G16R16 36 各成分に 16 ビットを使用する 64 ビット ピクセル フォーマット。
D3DFMT_A8P8 40 8 ビットのアルファを伴う 8 ビットのカラー インデックス。
D3DFMT_P8 41 8 ビットのカラー インデックス。
D3DFMT_L8 50 8 ビットの輝度のみ。
D3DFMT_L16 81 16 ビットの輝度のみ。
D3DFMT_A8L8 51 アルファと輝度にそれぞれ 8 ビットを使用する 16 ビット フォーマット。
D3DFMT_A4L4 52 アルファと輝度にそれぞれ 4 ビットを使用する 8 ビット フォーマット。
D3DFMT_A1 118 1 ビットのモノクロ。Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。
D3DFMT_A2B10G10R10_XR_BIAS 119 2.8 バイアス付きの固定小数点。Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。
D3DFMT_BINARYBUFFER 199 データが固有の型を持たないことを示すバイナリ フォーマット。Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。

 

その他

このフラグは未定義のフォーマットに使用されます。

その他のフラグ フォーマット
D3DFMT_UNKNOWN 0 サーフェス フォーマットが不明です
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D3DFORMAT : unsigned int {
    D3DFMT_UNKNOWN = 0,
    D3DFMT_R8G8B8 = 20,
    D3DFMT_A8R8G8B8 = 21,
    D3DFMT_X8R8G8B8 = 22,
    D3DFMT_R5G6B5 = 23,
    D3DFMT_X1R5G5B5 = 24,
    D3DFMT_A1R5G5B5 = 25,
    D3DFMT_A4R4G4B4 = 26,
    D3DFMT_R3G3B2 = 27,
    D3DFMT_A8 = 28,
    D3DFMT_A8R3G3B2 = 29,
    D3DFMT_X4R4G4B4 = 30,
    D3DFMT_A2B10G10R10 = 31,
    D3DFMT_A8B8G8R8 = 32,
    D3DFMT_X8B8G8R8 = 33,
    D3DFMT_G16R16 = 34,
    D3DFMT_A2R10G10B10 = 35,
    D3DFMT_A16B16G16R16 = 36,
    D3DFMT_A8P8 = 40,
    D3DFMT_P8 = 41,
    D3DFMT_L8 = 50,
    D3DFMT_A8L8 = 51,
    D3DFMT_A4L4 = 52,
    D3DFMT_V8U8 = 60,
    D3DFMT_L6V5U5 = 61,
    D3DFMT_X8L8V8U8 = 62,
    D3DFMT_Q8W8V8U8 = 63,
    D3DFMT_V16U16 = 64,
    D3DFMT_A2W10V10U10 = 67,
    D3DFMT_UYVY = 1498831189,
    D3DFMT_R8G8_B8G8 = 1195525970,
    D3DFMT_YUY2 = 844715353,
    D3DFMT_G8R8_G8B8 = 1111970375,
    D3DFMT_DXT1 = 827611204,
    D3DFMT_DXT2 = 844388420,
    D3DFMT_DXT3 = 861165636,
    D3DFMT_DXT4 = 877942852,
    D3DFMT_DXT5 = 894720068,
    D3DFMT_D16_LOCKABLE = 70,
    D3DFMT_D32 = 71,
    D3DFMT_D15S1 = 73,
    D3DFMT_D24S8 = 75,
    D3DFMT_D24X8 = 77,
    D3DFMT_D24X4S4 = 79,
    D3DFMT_D16 = 80,
    D3DFMT_D32F_LOCKABLE = 82,
    D3DFMT_D24FS8 = 83,
    D3DFMT_D32_LOCKABLE = 84,
    D3DFMT_S8_LOCKABLE = 85,
    D3DFMT_L16 = 81,
    D3DFMT_VERTEXDATA = 100,
    D3DFMT_INDEX16 = 101,
    D3DFMT_INDEX32 = 102,
    D3DFMT_Q16W16V16U16 = 110,
    D3DFMT_MULTI2_ARGB8 = 827606349,
    D3DFMT_R16F = 111,
    D3DFMT_G16R16F = 112,
    D3DFMT_A16B16G16R16F = 113,
    D3DFMT_R32F = 114,
    D3DFMT_G32R32F = 115,
    D3DFMT_A32B32G32R32F = 116,
    D3DFMT_CxV8U8 = 117,
    D3DFMT_A1 = 118,
    D3DFMT_A2B10G10R10_XR_BIAS = 119,
    D3DFMT_BINARYBUFFER = 199
} D3DFORMAT;
public enum D3DFORMAT : uint
{
    D3DFMT_UNKNOWN = 0,
    D3DFMT_R8G8B8 = 20,
    D3DFMT_A8R8G8B8 = 21,
    D3DFMT_X8R8G8B8 = 22,
    D3DFMT_R5G6B5 = 23,
    D3DFMT_X1R5G5B5 = 24,
    D3DFMT_A1R5G5B5 = 25,
    D3DFMT_A4R4G4B4 = 26,
    D3DFMT_R3G3B2 = 27,
    D3DFMT_A8 = 28,
    D3DFMT_A8R3G3B2 = 29,
    D3DFMT_X4R4G4B4 = 30,
    D3DFMT_A2B10G10R10 = 31,
    D3DFMT_A8B8G8R8 = 32,
    D3DFMT_X8B8G8R8 = 33,
    D3DFMT_G16R16 = 34,
    D3DFMT_A2R10G10B10 = 35,
    D3DFMT_A16B16G16R16 = 36,
    D3DFMT_A8P8 = 40,
    D3DFMT_P8 = 41,
    D3DFMT_L8 = 50,
    D3DFMT_A8L8 = 51,
    D3DFMT_A4L4 = 52,
    D3DFMT_V8U8 = 60,
    D3DFMT_L6V5U5 = 61,
    D3DFMT_X8L8V8U8 = 62,
    D3DFMT_Q8W8V8U8 = 63,
    D3DFMT_V16U16 = 64,
    D3DFMT_A2W10V10U10 = 67,
    D3DFMT_UYVY = 1498831189,
    D3DFMT_R8G8_B8G8 = 1195525970,
    D3DFMT_YUY2 = 844715353,
    D3DFMT_G8R8_G8B8 = 1111970375,
    D3DFMT_DXT1 = 827611204,
    D3DFMT_DXT2 = 844388420,
    D3DFMT_DXT3 = 861165636,
    D3DFMT_DXT4 = 877942852,
    D3DFMT_DXT5 = 894720068,
    D3DFMT_D16_LOCKABLE = 70,
    D3DFMT_D32 = 71,
    D3DFMT_D15S1 = 73,
    D3DFMT_D24S8 = 75,
    D3DFMT_D24X8 = 77,
    D3DFMT_D24X4S4 = 79,
    D3DFMT_D16 = 80,
    D3DFMT_D32F_LOCKABLE = 82,
    D3DFMT_D24FS8 = 83,
    D3DFMT_D32_LOCKABLE = 84,
    D3DFMT_S8_LOCKABLE = 85,
    D3DFMT_L16 = 81,
    D3DFMT_VERTEXDATA = 100,
    D3DFMT_INDEX16 = 101,
    D3DFMT_INDEX32 = 102,
    D3DFMT_Q16W16V16U16 = 110,
    D3DFMT_MULTI2_ARGB8 = 827606349,
    D3DFMT_R16F = 111,
    D3DFMT_G16R16F = 112,
    D3DFMT_A16B16G16R16F = 113,
    D3DFMT_R32F = 114,
    D3DFMT_G32R32F = 115,
    D3DFMT_A32B32G32R32F = 116,
    D3DFMT_CxV8U8 = 117,
    D3DFMT_A1 = 118,
    D3DFMT_A2B10G10R10_XR_BIAS = 119,
    D3DFMT_BINARYBUFFER = 199,
}
Public Enum D3DFORMAT As UInteger
    D3DFMT_UNKNOWN = 0
    D3DFMT_R8G8B8 = 20
    D3DFMT_A8R8G8B8 = 21
    D3DFMT_X8R8G8B8 = 22
    D3DFMT_R5G6B5 = 23
    D3DFMT_X1R5G5B5 = 24
    D3DFMT_A1R5G5B5 = 25
    D3DFMT_A4R4G4B4 = 26
    D3DFMT_R3G3B2 = 27
    D3DFMT_A8 = 28
    D3DFMT_A8R3G3B2 = 29
    D3DFMT_X4R4G4B4 = 30
    D3DFMT_A2B10G10R10 = 31
    D3DFMT_A8B8G8R8 = 32
    D3DFMT_X8B8G8R8 = 33
    D3DFMT_G16R16 = 34
    D3DFMT_A2R10G10B10 = 35
    D3DFMT_A16B16G16R16 = 36
    D3DFMT_A8P8 = 40
    D3DFMT_P8 = 41
    D3DFMT_L8 = 50
    D3DFMT_A8L8 = 51
    D3DFMT_A4L4 = 52
    D3DFMT_V8U8 = 60
    D3DFMT_L6V5U5 = 61
    D3DFMT_X8L8V8U8 = 62
    D3DFMT_Q8W8V8U8 = 63
    D3DFMT_V16U16 = 64
    D3DFMT_A2W10V10U10 = 67
    D3DFMT_UYVY = 1498831189
    D3DFMT_R8G8_B8G8 = 1195525970
    D3DFMT_YUY2 = 844715353
    D3DFMT_G8R8_G8B8 = 1111970375
    D3DFMT_DXT1 = 827611204
    D3DFMT_DXT2 = 844388420
    D3DFMT_DXT3 = 861165636
    D3DFMT_DXT4 = 877942852
    D3DFMT_DXT5 = 894720068
    D3DFMT_D16_LOCKABLE = 70
    D3DFMT_D32 = 71
    D3DFMT_D15S1 = 73
    D3DFMT_D24S8 = 75
    D3DFMT_D24X8 = 77
    D3DFMT_D24X4S4 = 79
    D3DFMT_D16 = 80
    D3DFMT_D32F_LOCKABLE = 82
    D3DFMT_D24FS8 = 83
    D3DFMT_D32_LOCKABLE = 84
    D3DFMT_S8_LOCKABLE = 85
    D3DFMT_L16 = 81
    D3DFMT_VERTEXDATA = 100
    D3DFMT_INDEX16 = 101
    D3DFMT_INDEX32 = 102
    D3DFMT_Q16W16V16U16 = 110
    D3DFMT_MULTI2_ARGB8 = 827606349
    D3DFMT_R16F = 111
    D3DFMT_G16R16F = 112
    D3DFMT_A16B16G16R16F = 113
    D3DFMT_R32F = 114
    D3DFMT_G32R32F = 115
    D3DFMT_A32B32G32R32F = 116
    D3DFMT_CxV8U8 = 117
    D3DFMT_A1 = 118
    D3DFMT_A2B10G10R10_XR_BIAS = 119
    D3DFMT_BINARYBUFFER = 199
End Enum
import enum

class D3DFORMAT(enum.IntEnum):
    D3DFMT_UNKNOWN = 0
    D3DFMT_R8G8B8 = 20
    D3DFMT_A8R8G8B8 = 21
    D3DFMT_X8R8G8B8 = 22
    D3DFMT_R5G6B5 = 23
    D3DFMT_X1R5G5B5 = 24
    D3DFMT_A1R5G5B5 = 25
    D3DFMT_A4R4G4B4 = 26
    D3DFMT_R3G3B2 = 27
    D3DFMT_A8 = 28
    D3DFMT_A8R3G3B2 = 29
    D3DFMT_X4R4G4B4 = 30
    D3DFMT_A2B10G10R10 = 31
    D3DFMT_A8B8G8R8 = 32
    D3DFMT_X8B8G8R8 = 33
    D3DFMT_G16R16 = 34
    D3DFMT_A2R10G10B10 = 35
    D3DFMT_A16B16G16R16 = 36
    D3DFMT_A8P8 = 40
    D3DFMT_P8 = 41
    D3DFMT_L8 = 50
    D3DFMT_A8L8 = 51
    D3DFMT_A4L4 = 52
    D3DFMT_V8U8 = 60
    D3DFMT_L6V5U5 = 61
    D3DFMT_X8L8V8U8 = 62
    D3DFMT_Q8W8V8U8 = 63
    D3DFMT_V16U16 = 64
    D3DFMT_A2W10V10U10 = 67
    D3DFMT_UYVY = 1498831189
    D3DFMT_R8G8_B8G8 = 1195525970
    D3DFMT_YUY2 = 844715353
    D3DFMT_G8R8_G8B8 = 1111970375
    D3DFMT_DXT1 = 827611204
    D3DFMT_DXT2 = 844388420
    D3DFMT_DXT3 = 861165636
    D3DFMT_DXT4 = 877942852
    D3DFMT_DXT5 = 894720068
    D3DFMT_D16_LOCKABLE = 70
    D3DFMT_D32 = 71
    D3DFMT_D15S1 = 73
    D3DFMT_D24S8 = 75
    D3DFMT_D24X8 = 77
    D3DFMT_D24X4S4 = 79
    D3DFMT_D16 = 80
    D3DFMT_D32F_LOCKABLE = 82
    D3DFMT_D24FS8 = 83
    D3DFMT_D32_LOCKABLE = 84
    D3DFMT_S8_LOCKABLE = 85
    D3DFMT_L16 = 81
    D3DFMT_VERTEXDATA = 100
    D3DFMT_INDEX16 = 101
    D3DFMT_INDEX32 = 102
    D3DFMT_Q16W16V16U16 = 110
    D3DFMT_MULTI2_ARGB8 = 827606349
    D3DFMT_R16F = 111
    D3DFMT_G16R16F = 112
    D3DFMT_A16B16G16R16F = 113
    D3DFMT_R32F = 114
    D3DFMT_G32R32F = 115
    D3DFMT_A32B32G32R32F = 116
    D3DFMT_CxV8U8 = 117
    D3DFMT_A1 = 118
    D3DFMT_A2B10G10R10_XR_BIAS = 119
    D3DFMT_BINARYBUFFER = 199
// D3DFORMAT
pub const D3DFMT_UNKNOWN: u32 = 0;
pub const D3DFMT_R8G8B8: u32 = 20;
pub const D3DFMT_A8R8G8B8: u32 = 21;
pub const D3DFMT_X8R8G8B8: u32 = 22;
pub const D3DFMT_R5G6B5: u32 = 23;
pub const D3DFMT_X1R5G5B5: u32 = 24;
pub const D3DFMT_A1R5G5B5: u32 = 25;
pub const D3DFMT_A4R4G4B4: u32 = 26;
pub const D3DFMT_R3G3B2: u32 = 27;
pub const D3DFMT_A8: u32 = 28;
pub const D3DFMT_A8R3G3B2: u32 = 29;
pub const D3DFMT_X4R4G4B4: u32 = 30;
pub const D3DFMT_A2B10G10R10: u32 = 31;
pub const D3DFMT_A8B8G8R8: u32 = 32;
pub const D3DFMT_X8B8G8R8: u32 = 33;
pub const D3DFMT_G16R16: u32 = 34;
pub const D3DFMT_A2R10G10B10: u32 = 35;
pub const D3DFMT_A16B16G16R16: u32 = 36;
pub const D3DFMT_A8P8: u32 = 40;
pub const D3DFMT_P8: u32 = 41;
pub const D3DFMT_L8: u32 = 50;
pub const D3DFMT_A8L8: u32 = 51;
pub const D3DFMT_A4L4: u32 = 52;
pub const D3DFMT_V8U8: u32 = 60;
pub const D3DFMT_L6V5U5: u32 = 61;
pub const D3DFMT_X8L8V8U8: u32 = 62;
pub const D3DFMT_Q8W8V8U8: u32 = 63;
pub const D3DFMT_V16U16: u32 = 64;
pub const D3DFMT_A2W10V10U10: u32 = 67;
pub const D3DFMT_UYVY: u32 = 1498831189;
pub const D3DFMT_R8G8_B8G8: u32 = 1195525970;
pub const D3DFMT_YUY2: u32 = 844715353;
pub const D3DFMT_G8R8_G8B8: u32 = 1111970375;
pub const D3DFMT_DXT1: u32 = 827611204;
pub const D3DFMT_DXT2: u32 = 844388420;
pub const D3DFMT_DXT3: u32 = 861165636;
pub const D3DFMT_DXT4: u32 = 877942852;
pub const D3DFMT_DXT5: u32 = 894720068;
pub const D3DFMT_D16_LOCKABLE: u32 = 70;
pub const D3DFMT_D32: u32 = 71;
pub const D3DFMT_D15S1: u32 = 73;
pub const D3DFMT_D24S8: u32 = 75;
pub const D3DFMT_D24X8: u32 = 77;
pub const D3DFMT_D24X4S4: u32 = 79;
pub const D3DFMT_D16: u32 = 80;
pub const D3DFMT_D32F_LOCKABLE: u32 = 82;
pub const D3DFMT_D24FS8: u32 = 83;
pub const D3DFMT_D32_LOCKABLE: u32 = 84;
pub const D3DFMT_S8_LOCKABLE: u32 = 85;
pub const D3DFMT_L16: u32 = 81;
pub const D3DFMT_VERTEXDATA: u32 = 100;
pub const D3DFMT_INDEX16: u32 = 101;
pub const D3DFMT_INDEX32: u32 = 102;
pub const D3DFMT_Q16W16V16U16: u32 = 110;
pub const D3DFMT_MULTI2_ARGB8: u32 = 827606349;
pub const D3DFMT_R16F: u32 = 111;
pub const D3DFMT_G16R16F: u32 = 112;
pub const D3DFMT_A16B16G16R16F: u32 = 113;
pub const D3DFMT_R32F: u32 = 114;
pub const D3DFMT_G32R32F: u32 = 115;
pub const D3DFMT_A32B32G32R32F: u32 = 116;
pub const D3DFMT_CxV8U8: u32 = 117;
pub const D3DFMT_A1: u32 = 118;
pub const D3DFMT_A2B10G10R10_XR_BIAS: u32 = 119;
pub const D3DFMT_BINARYBUFFER: u32 = 199;
// D3DFORMAT
const (
	D3DFMT_UNKNOWN uint32 = 0
	D3DFMT_R8G8B8 uint32 = 20
	D3DFMT_A8R8G8B8 uint32 = 21
	D3DFMT_X8R8G8B8 uint32 = 22
	D3DFMT_R5G6B5 uint32 = 23
	D3DFMT_X1R5G5B5 uint32 = 24
	D3DFMT_A1R5G5B5 uint32 = 25
	D3DFMT_A4R4G4B4 uint32 = 26
	D3DFMT_R3G3B2 uint32 = 27
	D3DFMT_A8 uint32 = 28
	D3DFMT_A8R3G3B2 uint32 = 29
	D3DFMT_X4R4G4B4 uint32 = 30
	D3DFMT_A2B10G10R10 uint32 = 31
	D3DFMT_A8B8G8R8 uint32 = 32
	D3DFMT_X8B8G8R8 uint32 = 33
	D3DFMT_G16R16 uint32 = 34
	D3DFMT_A2R10G10B10 uint32 = 35
	D3DFMT_A16B16G16R16 uint32 = 36
	D3DFMT_A8P8 uint32 = 40
	D3DFMT_P8 uint32 = 41
	D3DFMT_L8 uint32 = 50
	D3DFMT_A8L8 uint32 = 51
	D3DFMT_A4L4 uint32 = 52
	D3DFMT_V8U8 uint32 = 60
	D3DFMT_L6V5U5 uint32 = 61
	D3DFMT_X8L8V8U8 uint32 = 62
	D3DFMT_Q8W8V8U8 uint32 = 63
	D3DFMT_V16U16 uint32 = 64
	D3DFMT_A2W10V10U10 uint32 = 67
	D3DFMT_UYVY uint32 = 1498831189
	D3DFMT_R8G8_B8G8 uint32 = 1195525970
	D3DFMT_YUY2 uint32 = 844715353
	D3DFMT_G8R8_G8B8 uint32 = 1111970375
	D3DFMT_DXT1 uint32 = 827611204
	D3DFMT_DXT2 uint32 = 844388420
	D3DFMT_DXT3 uint32 = 861165636
	D3DFMT_DXT4 uint32 = 877942852
	D3DFMT_DXT5 uint32 = 894720068
	D3DFMT_D16_LOCKABLE uint32 = 70
	D3DFMT_D32 uint32 = 71
	D3DFMT_D15S1 uint32 = 73
	D3DFMT_D24S8 uint32 = 75
	D3DFMT_D24X8 uint32 = 77
	D3DFMT_D24X4S4 uint32 = 79
	D3DFMT_D16 uint32 = 80
	D3DFMT_D32F_LOCKABLE uint32 = 82
	D3DFMT_D24FS8 uint32 = 83
	D3DFMT_D32_LOCKABLE uint32 = 84
	D3DFMT_S8_LOCKABLE uint32 = 85
	D3DFMT_L16 uint32 = 81
	D3DFMT_VERTEXDATA uint32 = 100
	D3DFMT_INDEX16 uint32 = 101
	D3DFMT_INDEX32 uint32 = 102
	D3DFMT_Q16W16V16U16 uint32 = 110
	D3DFMT_MULTI2_ARGB8 uint32 = 827606349
	D3DFMT_R16F uint32 = 111
	D3DFMT_G16R16F uint32 = 112
	D3DFMT_A16B16G16R16F uint32 = 113
	D3DFMT_R32F uint32 = 114
	D3DFMT_G32R32F uint32 = 115
	D3DFMT_A32B32G32R32F uint32 = 116
	D3DFMT_CxV8U8 uint32 = 117
	D3DFMT_A1 uint32 = 118
	D3DFMT_A2B10G10R10_XR_BIAS uint32 = 119
	D3DFMT_BINARYBUFFER uint32 = 199
)
const
  D3DFMT_UNKNOWN = 0;
  D3DFMT_R8G8B8 = 20;
  D3DFMT_A8R8G8B8 = 21;
  D3DFMT_X8R8G8B8 = 22;
  D3DFMT_R5G6B5 = 23;
  D3DFMT_X1R5G5B5 = 24;
  D3DFMT_A1R5G5B5 = 25;
  D3DFMT_A4R4G4B4 = 26;
  D3DFMT_R3G3B2 = 27;
  D3DFMT_A8 = 28;
  D3DFMT_A8R3G3B2 = 29;
  D3DFMT_X4R4G4B4 = 30;
  D3DFMT_A2B10G10R10 = 31;
  D3DFMT_A8B8G8R8 = 32;
  D3DFMT_X8B8G8R8 = 33;
  D3DFMT_G16R16 = 34;
  D3DFMT_A2R10G10B10 = 35;
  D3DFMT_A16B16G16R16 = 36;
  D3DFMT_A8P8 = 40;
  D3DFMT_P8 = 41;
  D3DFMT_L8 = 50;
  D3DFMT_A8L8 = 51;
  D3DFMT_A4L4 = 52;
  D3DFMT_V8U8 = 60;
  D3DFMT_L6V5U5 = 61;
  D3DFMT_X8L8V8U8 = 62;
  D3DFMT_Q8W8V8U8 = 63;
  D3DFMT_V16U16 = 64;
  D3DFMT_A2W10V10U10 = 67;
  D3DFMT_UYVY = 1498831189;
  D3DFMT_R8G8_B8G8 = 1195525970;
  D3DFMT_YUY2 = 844715353;
  D3DFMT_G8R8_G8B8 = 1111970375;
  D3DFMT_DXT1 = 827611204;
  D3DFMT_DXT2 = 844388420;
  D3DFMT_DXT3 = 861165636;
  D3DFMT_DXT4 = 877942852;
  D3DFMT_DXT5 = 894720068;
  D3DFMT_D16_LOCKABLE = 70;
  D3DFMT_D32 = 71;
  D3DFMT_D15S1 = 73;
  D3DFMT_D24S8 = 75;
  D3DFMT_D24X8 = 77;
  D3DFMT_D24X4S4 = 79;
  D3DFMT_D16 = 80;
  D3DFMT_D32F_LOCKABLE = 82;
  D3DFMT_D24FS8 = 83;
  D3DFMT_D32_LOCKABLE = 84;
  D3DFMT_S8_LOCKABLE = 85;
  D3DFMT_L16 = 81;
  D3DFMT_VERTEXDATA = 100;
  D3DFMT_INDEX16 = 101;
  D3DFMT_INDEX32 = 102;
  D3DFMT_Q16W16V16U16 = 110;
  D3DFMT_MULTI2_ARGB8 = 827606349;
  D3DFMT_R16F = 111;
  D3DFMT_G16R16F = 112;
  D3DFMT_A16B16G16R16F = 113;
  D3DFMT_R32F = 114;
  D3DFMT_G32R32F = 115;
  D3DFMT_A32B32G32R32F = 116;
  D3DFMT_CxV8U8 = 117;
  D3DFMT_A1 = 118;
  D3DFMT_A2B10G10R10_XR_BIAS = 119;
  D3DFMT_BINARYBUFFER = 199;
// D3DFORMAT
pub const D3DFMT_UNKNOWN: u32 = 0;
pub const D3DFMT_R8G8B8: u32 = 20;
pub const D3DFMT_A8R8G8B8: u32 = 21;
pub const D3DFMT_X8R8G8B8: u32 = 22;
pub const D3DFMT_R5G6B5: u32 = 23;
pub const D3DFMT_X1R5G5B5: u32 = 24;
pub const D3DFMT_A1R5G5B5: u32 = 25;
pub const D3DFMT_A4R4G4B4: u32 = 26;
pub const D3DFMT_R3G3B2: u32 = 27;
pub const D3DFMT_A8: u32 = 28;
pub const D3DFMT_A8R3G3B2: u32 = 29;
pub const D3DFMT_X4R4G4B4: u32 = 30;
pub const D3DFMT_A2B10G10R10: u32 = 31;
pub const D3DFMT_A8B8G8R8: u32 = 32;
pub const D3DFMT_X8B8G8R8: u32 = 33;
pub const D3DFMT_G16R16: u32 = 34;
pub const D3DFMT_A2R10G10B10: u32 = 35;
pub const D3DFMT_A16B16G16R16: u32 = 36;
pub const D3DFMT_A8P8: u32 = 40;
pub const D3DFMT_P8: u32 = 41;
pub const D3DFMT_L8: u32 = 50;
pub const D3DFMT_A8L8: u32 = 51;
pub const D3DFMT_A4L4: u32 = 52;
pub const D3DFMT_V8U8: u32 = 60;
pub const D3DFMT_L6V5U5: u32 = 61;
pub const D3DFMT_X8L8V8U8: u32 = 62;
pub const D3DFMT_Q8W8V8U8: u32 = 63;
pub const D3DFMT_V16U16: u32 = 64;
pub const D3DFMT_A2W10V10U10: u32 = 67;
pub const D3DFMT_UYVY: u32 = 1498831189;
pub const D3DFMT_R8G8_B8G8: u32 = 1195525970;
pub const D3DFMT_YUY2: u32 = 844715353;
pub const D3DFMT_G8R8_G8B8: u32 = 1111970375;
pub const D3DFMT_DXT1: u32 = 827611204;
pub const D3DFMT_DXT2: u32 = 844388420;
pub const D3DFMT_DXT3: u32 = 861165636;
pub const D3DFMT_DXT4: u32 = 877942852;
pub const D3DFMT_DXT5: u32 = 894720068;
pub const D3DFMT_D16_LOCKABLE: u32 = 70;
pub const D3DFMT_D32: u32 = 71;
pub const D3DFMT_D15S1: u32 = 73;
pub const D3DFMT_D24S8: u32 = 75;
pub const D3DFMT_D24X8: u32 = 77;
pub const D3DFMT_D24X4S4: u32 = 79;
pub const D3DFMT_D16: u32 = 80;
pub const D3DFMT_D32F_LOCKABLE: u32 = 82;
pub const D3DFMT_D24FS8: u32 = 83;
pub const D3DFMT_D32_LOCKABLE: u32 = 84;
pub const D3DFMT_S8_LOCKABLE: u32 = 85;
pub const D3DFMT_L16: u32 = 81;
pub const D3DFMT_VERTEXDATA: u32 = 100;
pub const D3DFMT_INDEX16: u32 = 101;
pub const D3DFMT_INDEX32: u32 = 102;
pub const D3DFMT_Q16W16V16U16: u32 = 110;
pub const D3DFMT_MULTI2_ARGB8: u32 = 827606349;
pub const D3DFMT_R16F: u32 = 111;
pub const D3DFMT_G16R16F: u32 = 112;
pub const D3DFMT_A16B16G16R16F: u32 = 113;
pub const D3DFMT_R32F: u32 = 114;
pub const D3DFMT_G32R32F: u32 = 115;
pub const D3DFMT_A32B32G32R32F: u32 = 116;
pub const D3DFMT_CxV8U8: u32 = 117;
pub const D3DFMT_A1: u32 = 118;
pub const D3DFMT_A2B10G10R10_XR_BIAS: u32 = 119;
pub const D3DFMT_BINARYBUFFER: u32 = 199;
const
  D3DFMT_UNKNOWN* = 0
  D3DFMT_R8G8B8* = 20
  D3DFMT_A8R8G8B8* = 21
  D3DFMT_X8R8G8B8* = 22
  D3DFMT_R5G6B5* = 23
  D3DFMT_X1R5G5B5* = 24
  D3DFMT_A1R5G5B5* = 25
  D3DFMT_A4R4G4B4* = 26
  D3DFMT_R3G3B2* = 27
  D3DFMT_A8* = 28
  D3DFMT_A8R3G3B2* = 29
  D3DFMT_X4R4G4B4* = 30
  D3DFMT_A2B10G10R10* = 31
  D3DFMT_A8B8G8R8* = 32
  D3DFMT_X8B8G8R8* = 33
  D3DFMT_G16R16* = 34
  D3DFMT_A2R10G10B10* = 35
  D3DFMT_A16B16G16R16* = 36
  D3DFMT_A8P8* = 40
  D3DFMT_P8* = 41
  D3DFMT_L8* = 50
  D3DFMT_A8L8* = 51
  D3DFMT_A4L4* = 52
  D3DFMT_V8U8* = 60
  D3DFMT_L6V5U5* = 61
  D3DFMT_X8L8V8U8* = 62
  D3DFMT_Q8W8V8U8* = 63
  D3DFMT_V16U16* = 64
  D3DFMT_A2W10V10U10* = 67
  D3DFMT_UYVY* = 1498831189
  D3DFMT_R8G8_B8G8* = 1195525970
  D3DFMT_YUY2* = 844715353
  D3DFMT_G8R8_G8B8* = 1111970375
  D3DFMT_DXT1* = 827611204
  D3DFMT_DXT2* = 844388420
  D3DFMT_DXT3* = 861165636
  D3DFMT_DXT4* = 877942852
  D3DFMT_DXT5* = 894720068
  D3DFMT_D16_LOCKABLE* = 70
  D3DFMT_D32* = 71
  D3DFMT_D15S1* = 73
  D3DFMT_D24S8* = 75
  D3DFMT_D24X8* = 77
  D3DFMT_D24X4S4* = 79
  D3DFMT_D16* = 80
  D3DFMT_D32F_LOCKABLE* = 82
  D3DFMT_D24FS8* = 83
  D3DFMT_D32_LOCKABLE* = 84
  D3DFMT_S8_LOCKABLE* = 85
  D3DFMT_L16* = 81
  D3DFMT_VERTEXDATA* = 100
  D3DFMT_INDEX16* = 101
  D3DFMT_INDEX32* = 102
  D3DFMT_Q16W16V16U16* = 110
  D3DFMT_MULTI2_ARGB8* = 827606349
  D3DFMT_R16F* = 111
  D3DFMT_G16R16F* = 112
  D3DFMT_A16B16G16R16F* = 113
  D3DFMT_R32F* = 114
  D3DFMT_G32R32F* = 115
  D3DFMT_A32B32G32R32F* = 116
  D3DFMT_CxV8U8* = 117
  D3DFMT_A1* = 118
  D3DFMT_A2B10G10R10_XR_BIAS* = 119
  D3DFMT_BINARYBUFFER* = 199
enum D3DFORMAT : uint {
    D3DFMT_UNKNOWN = 0,
    D3DFMT_R8G8B8 = 20,
    D3DFMT_A8R8G8B8 = 21,
    D3DFMT_X8R8G8B8 = 22,
    D3DFMT_R5G6B5 = 23,
    D3DFMT_X1R5G5B5 = 24,
    D3DFMT_A1R5G5B5 = 25,
    D3DFMT_A4R4G4B4 = 26,
    D3DFMT_R3G3B2 = 27,
    D3DFMT_A8 = 28,
    D3DFMT_A8R3G3B2 = 29,
    D3DFMT_X4R4G4B4 = 30,
    D3DFMT_A2B10G10R10 = 31,
    D3DFMT_A8B8G8R8 = 32,
    D3DFMT_X8B8G8R8 = 33,
    D3DFMT_G16R16 = 34,
    D3DFMT_A2R10G10B10 = 35,
    D3DFMT_A16B16G16R16 = 36,
    D3DFMT_A8P8 = 40,
    D3DFMT_P8 = 41,
    D3DFMT_L8 = 50,
    D3DFMT_A8L8 = 51,
    D3DFMT_A4L4 = 52,
    D3DFMT_V8U8 = 60,
    D3DFMT_L6V5U5 = 61,
    D3DFMT_X8L8V8U8 = 62,
    D3DFMT_Q8W8V8U8 = 63,
    D3DFMT_V16U16 = 64,
    D3DFMT_A2W10V10U10 = 67,
    D3DFMT_UYVY = 1498831189,
    D3DFMT_R8G8_B8G8 = 1195525970,
    D3DFMT_YUY2 = 844715353,
    D3DFMT_G8R8_G8B8 = 1111970375,
    D3DFMT_DXT1 = 827611204,
    D3DFMT_DXT2 = 844388420,
    D3DFMT_DXT3 = 861165636,
    D3DFMT_DXT4 = 877942852,
    D3DFMT_DXT5 = 894720068,
    D3DFMT_D16_LOCKABLE = 70,
    D3DFMT_D32 = 71,
    D3DFMT_D15S1 = 73,
    D3DFMT_D24S8 = 75,
    D3DFMT_D24X8 = 77,
    D3DFMT_D24X4S4 = 79,
    D3DFMT_D16 = 80,
    D3DFMT_D32F_LOCKABLE = 82,
    D3DFMT_D24FS8 = 83,
    D3DFMT_D32_LOCKABLE = 84,
    D3DFMT_S8_LOCKABLE = 85,
    D3DFMT_L16 = 81,
    D3DFMT_VERTEXDATA = 100,
    D3DFMT_INDEX16 = 101,
    D3DFMT_INDEX32 = 102,
    D3DFMT_Q16W16V16U16 = 110,
    D3DFMT_MULTI2_ARGB8 = 827606349,
    D3DFMT_R16F = 111,
    D3DFMT_G16R16F = 112,
    D3DFMT_A16B16G16R16F = 113,
    D3DFMT_R32F = 114,
    D3DFMT_G32R32F = 115,
    D3DFMT_A32B32G32R32F = 116,
    D3DFMT_CxV8U8 = 117,
    D3DFMT_A1 = 118,
    D3DFMT_A2B10G10R10_XR_BIAS = 119,
    D3DFMT_BINARYBUFFER = 199,
}
#define global D3DFMT_UNKNOWN             0x0
#define global D3DFMT_R8G8B8              0x14
#define global D3DFMT_A8R8G8B8            0x15
#define global D3DFMT_X8R8G8B8            0x16
#define global D3DFMT_R5G6B5              0x17
#define global D3DFMT_X1R5G5B5            0x18
#define global D3DFMT_A1R5G5B5            0x19
#define global D3DFMT_A4R4G4B4            0x1A
#define global D3DFMT_R3G3B2              0x1B
#define global D3DFMT_A8                  0x1C
#define global D3DFMT_A8R3G3B2            0x1D
#define global D3DFMT_X4R4G4B4            0x1E
#define global D3DFMT_A2B10G10R10         0x1F
#define global D3DFMT_A8B8G8R8            0x20
#define global D3DFMT_X8B8G8R8            0x21
#define global D3DFMT_G16R16              0x22
#define global D3DFMT_A2R10G10B10         0x23
#define global D3DFMT_A16B16G16R16        0x24
#define global D3DFMT_A8P8                0x28
#define global D3DFMT_P8                  0x29
#define global D3DFMT_L8                  0x32
#define global D3DFMT_A8L8                0x33
#define global D3DFMT_A4L4                0x34
#define global D3DFMT_V8U8                0x3C
#define global D3DFMT_L6V5U5              0x3D
#define global D3DFMT_X8L8V8U8            0x3E
#define global D3DFMT_Q8W8V8U8            0x3F
#define global D3DFMT_V16U16              0x40
#define global D3DFMT_A2W10V10U10         0x43
#define global D3DFMT_UYVY                0x59565955
#define global D3DFMT_R8G8_B8G8           0x47424752
#define global D3DFMT_YUY2                0x32595559
#define global D3DFMT_G8R8_G8B8           0x42475247
#define global D3DFMT_DXT1                0x31545844
#define global D3DFMT_DXT2                0x32545844
#define global D3DFMT_DXT3                0x33545844
#define global D3DFMT_DXT4                0x34545844
#define global D3DFMT_DXT5                0x35545844
#define global D3DFMT_D16_LOCKABLE        0x46
#define global D3DFMT_D32                 0x47
#define global D3DFMT_D15S1               0x49
#define global D3DFMT_D24S8               0x4B
#define global D3DFMT_D24X8               0x4D
#define global D3DFMT_D24X4S4             0x4F
#define global D3DFMT_D16                 0x50
#define global D3DFMT_D32F_LOCKABLE       0x52
#define global D3DFMT_D24FS8              0x53
#define global D3DFMT_D32_LOCKABLE        0x54
#define global D3DFMT_S8_LOCKABLE         0x55
#define global D3DFMT_L16                 0x51
#define global D3DFMT_VERTEXDATA          0x64
#define global D3DFMT_INDEX16             0x65
#define global D3DFMT_INDEX32             0x66
#define global D3DFMT_Q16W16V16U16        0x6E
#define global D3DFMT_MULTI2_ARGB8        0x3154454D
#define global D3DFMT_R16F                0x6F
#define global D3DFMT_G16R16F             0x70
#define global D3DFMT_A16B16G16R16F       0x71
#define global D3DFMT_R32F                0x72
#define global D3DFMT_G32R32F             0x73
#define global D3DFMT_A32B32G32R32F       0x74
#define global D3DFMT_CxV8U8              0x75
#define global D3DFMT_A1                  0x76
#define global D3DFMT_A2B10G10R10_XR_BIAS 0x77
#define global D3DFMT_BINARYBUFFER        0xC7