次の方法で共有


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

関連項目

ID3D10Device インターフェイス