次の方法で共有


ID3D11Device::CreateHullShader メソッド (d3d11.h)

ハル シェーダーを作成します。

構文

HRESULT CreateHullShader(
  [in]            const void         *pShaderBytecode,
  [in]            SIZE_T             BytecodeLength,
  [in, optional]  ID3D11ClassLinkage *pClassLinkage,
  [out, optional] ID3D11HullShader   **ppHullShader
);

パラメーター

[in] pShaderBytecode

型: const void*

コンパイルされたシェーダーへのポインター。

[in] BytecodeLength

種類: SIZE_T

コンパイルされたシェーダーのサイズ。

[in, optional] pClassLinkage

種類: ID3D11ClassLinkage*

クラス リンケージ インターフェイスへのポインター ( ID3D11ClassLinkage を参照)。値には NULL を指定できます。

[out, optional] ppHullShader

種類: ID3D11HullShader**

ID3D11HullShader インターフェイスへのポインターのアドレス。

戻り値

型: HRESULT

このメソッドは、 Direct3D 11 リターン コードのいずれかを返します

解説

Windows 8 以降で使用できる Direct3D 11.1 ランタイムは、 CreateHullShader に次の新機能を提供します。

次のシェーダー モデル 5.0 の手順は、Direct3D 11.0 ランタイムのピクセル シェーダーとコンピューティング シェーダーでのみ使用できます。 Direct3D 11.1 ランタイムの場合、順序なしのアクセス ビュー (UAV) はすべてのシェーダー ステージで使用できるため、すべてのシェーダー ステージでこれらの手順を使用できます。

したがって、ハル シェーダーで次のシェーダー モデル 5.0 命令を使用すると、コンパイルされたハル シェーダーを pShaderBytecode に正常に渡すことができます。 つまり、 CreateHullShader の呼び出しは成功します。

コンパイル済みシェーダーを pShaderBytecode に渡し、すべてのシェーダー ステージで UAV をサポートしていないデバイスで次のいずれかの手順を使用する場合 (すべてのシェーダー ステージで UAV をサポートするために実装されていない既存のドライバーを含む) 、CreateHullShader は失敗します。 ハードウェアでサポートされている UAV スロットのセットを超えて UAV スロットをシェーダーが使用しようとすると、CreateHullShader も失敗します。

必要条件

   
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3D11.lib

関連項目

ID3D11Device