DXShaderSetLayout

頂点シェーダーの頂点レイアウトを設定します。

bool  DXShaderSetLayout(
  int                   shader,       // シェーダーハンドル
  const DXVertexLayout& layout[]     //
  );

パラメータ

shader

[in] DXShaderCreate()で作成されたシェーダーのハンドル

layout[]

[in] 頂点フィールドの説明の配列です。説明はDXVertexLayout構造体で設定されています。

struct DXVertexLayout
 {
  string         semantic_name;       // シェーダー入力署名のこの要素に関連付けられたHLSLセマンティクス.
  uint           semantic_index;     // 要素のセマンティックインデックス。セマンティックインデックスは、整数のインデックス番号でセマンティックを変更します。セマンティックインデックスは、同じセマンティックを持つ要素が複数ある場合にのみ必要です
  ENUM_DX_FORMAT format;             // 要素データのデータ型
 };

戻り値

実行成功の場合は true、それ以外の場合は falseを返します。エラーコードを受け取るには GetLastError() 関数が呼ばれるべきです。

注意事項

レイアウトは、指定された頂点バッファー内の頂点の種類と一致する必要があります。また、頂点シェーダーコードのエントリポイントで使用される頂点入力の種類と一致する必要があります。

シェーダーの頂点バッファーはDXBufferSet()で設定されます。

DXVertexLayout構造体はD3D11_INPUT_ELEMENT_DESC MSDN構造体のバージョンです。