DXShaderSetLayout

Legt das Vertex-Layout für den Vertex-Shader fest.

bool  DXShaderSetLayout(
   int                    shader,       // Handle des Shaders
   const DXVertexLayout&  layout[]      // 
   );

Parameter

shader

[in]  Handle des Vertex-Shaders erstellt in DXShaderCreate().

layout[]

[in]  Array der Vertex-Feldbeschreibungen. Die Beschreibungen werden durch die Struktur DXVertexLayout festgelegt:

struct DXVertexLayout
  {
   string         semantic_name;       // Die Semantik von HLSL assoziiert mit diesem Element die Struktur der Eingaben eines Shaders.
   uint           semantic_index;      // Der Index für das Semantik-Element. Ein semantischer Index modifiziert eine Semantik mit einer ganzzahligen Indexzahl. Ein semantischer Index wird nur benötigt, wenn es mehr als ein Element mit der gleichen Semantik gibt.
   ENUM_DX_FORMAT format/// Der Datentyp der Elementdaten.
  };

Rückgabewert

Im Falle einer erfolgreichen Ausführung wird 'true' zurückgegeben, andernfalls - 'false'. Um eine Fehlernummer zu erhalten, muss man die Funktion GetLastError() aufrufen.

Hinweis

Das Layout sollte mit dem Typ der Knoten in einem angegebenen Knotenpuffer übereinstimmen. Es sollte auch mit der Art der Eingabe von Knoten übereinstimmen, die an der Einstiegsstelle im Vertex-Shader-Code verwendet werden.

Der Vertex-Puffer für einen Shader wird in DXBufferSet() eingestellt.

Die DXVertexLayout-Struktur ist eine Version der MSDN-Struktur D3D11_INPUT_ELEMENT_DESC.