ID3D10Device::CreateGeometryShaderWithStreamOutput メソッド (d3d10.h)
ストリーミング出力バッファーに書き込むことができるジオメトリ シェーダーを作成します。
構文
HRESULT CreateGeometryShaderWithStreamOutput(
[in] const void *pShaderBytecode,
[in] SIZE_T BytecodeLength,
[in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
[in] UINT NumEntries,
[in] UINT OutputStreamStride,
[out] ID3D10GeometryShader **ppGeometryShader
);
パラメーター
[in] pShaderBytecode
型: const void*
標準ジオメトリ シェーダーとストリーム出力のコンパイル済みジオメトリ シェーダーへのポインター。 このポインターを取得する方法については、「 コンパイル済みシェーダーへのポインターの取得」を参照してください。
ジオメトリ シェーダーを使用せずにストリーム出力を作成するには、前のステージの出力シグネチャへのポインターを渡します。 この出力シグネチャを取得するには、 D3DGetOutputSignatureBlob コンパイラ関数を呼び出します。 前のステージで使用されているコンパイル済み 頂点シェーダー へのポインターを渡すこともできます。 このコンパイルされたシェーダーは、データの出力シグネチャを提供します。
[in] BytecodeLength
種類: SIZE_T
コンパイルされたジオメトリ シェーダーのサイズ。
[in] pSODeclaration
型: const D3D10_SO_DECLARATION_ENTRY*
D3D10_SO_DECLARATION_ENTRY配列へのポインター。 NumEntries> 0 の場合、NULL にすることはできません。
[in] NumEntries
型: UINT
pSODeclaration が指す配列内のエントリの数。 最小 0、最大 64。
[in] OutputStreamStride
型: UINT
pSODeclaration が指す配列内の各要素のサイズ (バイト単位)。 このパラメーターは、 pSODeclaration 内のすべてのエントリに対して出力スロットが 0 の場合にのみ使用されます。
[out] ppGeometryShader
種類: ID3D10GeometryShader**
ID3D10GeometryShader インターフェイスへのポインターのアドレス。 これが NULL の場合、他のすべてのパラメーターが検証され、すべてのパラメーターが検証に合格した場合、この API はS_OKではなくS_FALSEを返します。
戻り値
型: HRESULT
このメソッドは、 Direct3D 10 リターン コードのいずれかを返します。
解説
CreateGeometryShaderWithStreamOutput の使用の詳細については、「ストリーム出力を使用して Geometry-Shader オブジェクトを作成する」を参照してください。
必要条件
対象プラットフォーム | Windows |
ヘッダー | d3d10.h |
Library | D3D10.lib |