次の方法で共有


IDirect3DVertexDeclaration9::GetDeclaration メソッド

IDirect3DVertexDeclaration9::GetDeclaration メソッド

頂点シェーダの宣言を取得する。

構文

HRESULT GetDeclaration(      
    D3DVERTEXELEMENT9* pDecl,
    UINT* pNumElements
);

パラメータ

  • pDecl
    [in, out] 頂点シェーダ宣言を構成する頂点要素の配列。これのためにアプリケーション側で十分な空間を割り当てる必要がある。頂点要素配列は D3DDECL_END マクロで終了する。
  • pNumElements
    [in, out] 配列内の要素の数。これのためにアプリケーション側で十分な空間を割り当てる必要がある。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合の戻り値は次のとおり。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。

注意

要素の数 pNumElements には、宣言を終了させる D3DDECL_END マクロが含まれる。このため、実際の要素の数は、有効な頂点要素の数より 1 つ多くなる。

最大 256 要素の頂点宣言配列を返す例を次に示す。

 
// assumes a valid pointer to a vertex declaration object
D3DVERTEXELEMENTS9 decl[256];
UINT numElements;
HRESULT hr = m_pVertexDeclaration->GetDeclaration( decl, &numElements);