テクスチャ

概要

MMFでは、DirectX11を利用しているため、利用できるテクスチャのフォーマットが異なります。
他の部分の実装と異なり、テクスチャの実装においてはMME/MMMとの互換性が維持しにくいことになっています。
MME/MMMでFormatに指定する文字列をMMFで指定した場合、以下の資料の型として解釈されます。
MSDN「レガシーフォーマット」

利用不可の場合は、例外がスローされます。

また、指定する文字列に「D3DFMT_」、「FMT_」、「DXGI_FORMAT_」が先頭に入っている場合は自動的に削られます

Formatに指定する文字列 渡される値 DirectXのバージョン
D3DDECLTYPE_FLOAT3 DXGI_FORMAT_R32G32B32_FLOAT DirextX9からの引継ぎ
R32G32B32_FLOAT DirectX11
R32G32B32_UINT DXGI_FORMAT_R32G32B32_UINT
R32G32B32_SINT DXGI_FORMAT_R32G32B32_SINT
D3DDECLTYPE_FLOAT4 DXGI_FORMAT_R32G32B32A32_FLOAT DirectX9からの引継ぎ
A32B32G32R32F
R32G32B32A32_FLOAT DirectX11
R32G32B32A32_UINT
DXGI_FORMAT_R32G32B32A32_UINT
R32G32B32A32_SINT
DXGI_FORMAT_R32G32B32A32_SINT
A16B16G16R16F
DXGI_FORMAT_R16G16B16A16_FLOAT
 DirectX9からの引継ぎ
D3DDECLTYPE_FLOAT16_4
R16G16B16A16_FLOAT DirectX11
A16B16G16R16 DXGI_FORMAT_R16G16B16A16_UNORM  DirectX9からの引継ぎ
D3DDECLTYPE_USHORT4N
R16G16B16A16_UNORM DirectX11
R16G16B16A16_UINT DXGI_FORMAT_R16G16B16A16_UINT
Q16W16V16U16
DXGI_FORMAT_R16G16B16A16_SNORM
DirectX9からの引継ぎ
D3DDECLTYPE_SHORT4N
R16G16B16A16_SNORM DirectX11
D3DDECLTYPE_SHORT4 DXGI_FORMAT_R16G16B16A16_SINT DirectX9からの引継ぎ
R16G16B16A16_SINT DirectX11
D3DDECLTYPE_FLOAT2 DXGI_FORMAT_R32G32_FLOAT DirectX9からの引継ぎ
G32R32F
R32G32_FLOAT DirectX11
R32G32_UINT DXGI_FORMAT_R32G32_UINT
R32G32_SINT DXGI_FORMAT_R32G32_SINT
D32_FLOAT_S8X24_UINT DXGI_FORMAT_D32_FLOAT_S8X24_UINT
A2B10G10R10 DXGI_FORMAT_R10G10B10A2_UNORM DirectX9からの引継ぎ     
A2R10G10B10
R10G10B10A2_UNORM DirextX11
R10G10B10A2_UINT DXGI_FORMAT_R10G10B10A2_UINT
R11G11B10_FLOAT DXGI_FORMAT_R11G11B10_FLOAT
A8B8G8R8 DXGI_FORMAT_R8G8B8A8_UNORM  DirectX9からの引継ぎ
A8R8G8B8
D3DDECLTYPE_UBYTE4N
R8G8B8A8_UNORM DirectX11
R8G8B8A8_UNORM_SRGB DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
D3DDECLTYPE_UBYTE4 DXGI_FORMAT_R8G8B8A8_UINT DirectX9からの引継ぎ
R8G8B8A8_UINT DirectX11
Q8W8V8U8 DXGI_FORMAT_R8G8B8A8_SNORM DirectX9からの引継ぎ
R8G8B8A8_SNORM DirectX11
R8G8B8A8_SINT DXGI_FORMAT_R8G8B8A8_SINT
G16R16F
DXGI_FORMAT_R16G16_FLOAT
DirectX9からの引継ぎ
D3DDECLTYPE_FLOAT16_2
R16G16_FLOAT DirectX11
G16R16 DXGI_FORMAT_R16G16_UNORM DirectX9からの引継ぎ
D3DDECLTYPE_USHORT2N
R16G16_UNORM DirectX11
R16G16_UINT DXGI_FORMAT_R16G16_UINT
V16U16 DXGI_FORMAT_R16G16_SNORM  DirectX9からの引継ぎ
D3DDECLTYPE_SHORT2N
R16G16_SNORM DirectX11
D3DDECLTYPE_SHORT2 DXGI_FORMAT_R16G16_SINT DirectX9からの引継ぎ
R16G16_SINT DirectX11
D32F_LOCKABLE DXGI_FORMAT_D32_FLOAT DirectX9からの引継ぎ
D32_FLOAT DirectX11
R32F DXGI_FORMAT_R32_FLOAT DirectX9からの引継ぎ
D3DDECLTYPE_FLOAT1
R32_FLOAT DirectX11
INDEX32 DXGI_FORMAT_R32_UINT DirectX9からの引継ぎ
R32_UINT DirectX11
R32_SINT DXGI_FORMAT_R32_SINT
S8D24 DXGI_FORMAT_D24_UNORM_S8_UINT DirectX9からの引継ぎ
D24_UNORM_S8_UINT DirectX11
R8G8_UNORM DXGI_FORMAT_R8G8_UNORM
R8G8_UINT DXGI_FORMAT_R8G8_UINT
V8U8 DXGI_FORMAT_R8G8_SNORM DirectX9からの引継ぎ
R8G8_SNORM DirectX11DirectX11
R8G8_SINT DXGI_FORMAT_R8G8_SINT
R16F DXGI_FORMAT_R16_FLOAT DirectX9からの引継ぎ
R16_FLOAT DirectX11
D16 DXGI_FORMAT_D16_UNORM  DirectX9からの引継ぎ
D16_LOCKABLE
D16_UNORM DirectX11
L16 DXGI_FORMAT_R16_UNORM DirectX9からの引継ぎ
R16_UNORM DirectX11
INDEX16 DXGI_FORMAT_R16_UINT DirectX9からの引継ぎ
R16_UINT DirectX11
R16_SNORM DXGI_FORMAT_R16_SNORM
R16_SINT DXGI_FORMAT_R16_SINT
L8  DXGI_FORMAT_R8_UNORM DirectX9からの引継ぎ
R8_UNORM DirectX11
R8_UINT DXGI_FORMAT_R8_UINT
R8_SNORM DXGI_FORMAT_R8_SNORM
A8
DXGI_FORMAT_A8_UNORM 
DirectX9からの引継ぎ
A8_UNORM DirectX11
R1_UNORM DXGI_FORMAT_R1_UNORM
R9G9B9E5_SHAREDEXP DXGI_FORMAT_R9G9B9E5_SHAREDEXP
G8R8_G8B8 DXGI_FORMAT_R8G8_B8G8_UNORM DirectX9からの引継ぎ
R8G8_B8G8_UNORM DirectX11
R8G8_B8G8 DXGI_FORMAT_G8R8_G8B8_UNORM DirectX9からの引継ぎ
G8R8_G8B8_UNORM DirectX11
DXT1 DXGI_FORMAT_BC1_UNORM DirectX9からの引継ぎ
DXT2
BC1_UNORM DirectX11
BC1_UNORM_SRGB DXGI_FORMAT_BC1_UNORM_SRGB
DXT3 DXGI_FORMAT_BC2_UNORM DirectX9からの引継ぎ
DXT4
BC2_UNORM DirectX11
BC2_UNORM_SRGB DXGI_FORMAT_BC2_UNORM_SRGB
DXT5 DXGI_FORMAT_BC3_UNORM DirectX9からの引継ぎ
BC3_UNORM DirectX11
BC3_UNORM_SRGB DXGI_FORMAT_BC3_UNORM_SRGB
BC4_UNORM DXGI_FORMAT_BC4_UNORM
BC4_SNORM DXGI_FORMAT_BC4_SNORM
BC5_UNORM DXGI_FORMAT_BC5_UNORM
BC5_SNORM DXGI_FORMAT_BC5_SNORM
B5G6R5_UNORM DXGI_FORMAT_B5G6R5_UNORM
B5G5R5A1_UNORM DXGI_FORMAT_B5G5R5A1_UNORM
B8G8R8A8_UNORM DXGI_FORMAT_B8G8R8A8_UNORM
B8G8R8X8_UNORM DXGI_FORMAT_B8G8R8X8_UNORM

 

利用不可なもの(例外が返されます)

Formatに指定する文字列 DirectXのバージョン
R8G8B8 DirectX9からの引継ぎ




X8R8G8B8
R5G6B5
X1R5G5B5
A1R5G5B5
A4R4G4B4
R3G3B2
A8R3G3B2
X4R4G4B4
X8B8G8R8
A8P8
P8
A8L8
A4L4
L6V5U5
X8L8V8U8
W11V11U10
A2W10V10U10
UYVY
YUY2
D32
D15S1
D24S8
D24X8
D24X4S4
D24FS8
S1D15
X8D24
X4S4D24
MULTI2_ARGB8
CxV8U8
D3DDECLTYPED3DCOLOR
D3DDECLTYPE_UDEC3
D3DDECLTYPE_DEC3N
UNKNOWN DirectX11
R32G32B32A32_TYPELESS
R32G32B32_TYPELESS
R16G16B16A16_TYPELESS
R32G32_TYPELESS
R32G8X24_TYPELESS
R32_FLOAT_X8X24_TYPELESS
X32_TYPELESS_G8X24_UINT
R10G10B10A2_TYPELESS
R8G8B8A8_TYPELESS
R16G16_TYPELESS
R32_TYPELESS
R24G8_TYPELESS
R24_UNORM_X8_TYPELESS
X24_TYPELESS_G8_UINT
R8G8_TYPELESS
R16_TYPELESS
R8_TYPELESS
BC1_TYPELESS
BC2_TYPELESS
BC3_TYPELESS
BC4_TYPELESS
BC5_TYPELESS
FORCE_UINT

 

Last edited Nov 1, 2013 at 5:42 PM by LimeStreem, version 20

Comments

No comments yet.