D3DXSaveMeshToX
メッシュを .x ファイルに保存します。
HRESULT
D3DXSaveMeshToX(
LPCTSTR pFilename,
LPD3DXMESH pMesh,
CONST DWORD * pAdjacency,
CONST D3DXMATERIAL * pMaterials,
CONST D3DXEFFECTINSTANCE * pEffectInstances,
DWORD NumMaterials,
DWORD Format
);
パラメータ
- pFilename
ファイル名を指定する文字列へのポインターです。コンパイラーの設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。それ以外の場合、文字列データ型は LPCSTR に解決されます。「解説」を参照してください。 - pMesh
.x ファイルに保存するメッシュを表す ID3DXMesh インターフェイスへのポインターです。 - pAdjacency
面ごとの 3 つの DWORD 値を格納する配列へのポインターです。この配列によって、メッシュの各面に隣接した 3 つの面を定義します。このパラメーターは NULL 値でもかまいません。 - pMaterials
.x ファイルに保存するマテリアル情報を含む D3DXMATERIAL 構造体の配列へのポインターです。 - pEffectInstances
エフェクト インスタンスの配列へのポインターです。この配列には、メッシュ内の属性グループごとに 1 つのエフェクト インスタンスが格納されます。このパラメーターは NULL 値でもかまいません。エフェクト インスタンスは、エフェクトを初期化するときに使用する、ステート情報の特定のインスタンスです。詳細については、「D3DXEFFECTINSTANCE」を参照してください。 - NumMaterials
pMaterials 配列に含まれる D3DXMATERIAL 構造体の数です。 - Format
.x ファイルを保存するときのファイル フォーマットと保存オプションの組み合わせです。「D3DX X ファイルの定数」を参照してください。
戻り値
成功すると、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL
解説
コンパイラ設定により、関数のバージョンも決定されます。Unicode が定義されている場合、関数呼び出しは D3DXSaveMeshToXW に解決されます。それ以外の場合は、ANSI 文字列が使用されるため、D3DXSaveMeshToXA に解決されます。
デフォルトのファイル フォーマットはバイナリですが、ファイルがバイナリとテキスト ファイルの両方に指定されている場合は、テキスト ファイルとして保存されます。ファイル フォーマットに関係なく、圧縮フォーマットを使用してファイル サイズを縮小することができます。
以下に一般的なコードを例として、この関数の使い方を示します。
ID3DXMesh* m_pMesh; // Mesh object to be saved to a .x file D3DXMATERIAL* m_pMaterials; // Array of material structs in the mesh DWORD m_dwNumMaterials; // Number of material structs in the mesh DWORD dwFormat = D3DXF_FILEFORMAT_BINARY; // Binary-format .x file (default) // DWORD dwFormat = D3DXF_FILEFORMAT_TEXT; // Text-format .x file // Load mesh into m_pMesh and determine values of m_pMaterials and // m_dwNumMaterials with calls to D3DXLoadMeshxxx or other D3DX functions // ... D3DXSaveMeshToX( L"outputxfilename.x", m_pMesh, NULL, m_pMaterials, NULL, m_dwNumMaterials, dwFormat );
要件
ヘッダー: D3DX9Mesh.h 宣言
ライブラリ: D3dx9.lib 内容