15.7. Von Vertex zu Pixel

Als nächstes kommt die Funktion, deren Inhalt die Vorgehensweise des Vertex-Shaders beschreibt. Hier zuerst die einfache vorgegebene Version (→ Effekt0.fx):

VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
{
  VertexShaderOutput output;
  float4 worldPosition = mul(input.Position, World);
  float4 viewPosition = mul(worldPosition, View);
  output.Position = mul(viewPosition, Projection);
  return output;
}

Der Vektor output.Position enthält die aktuelle Position, die sich nach der Auswertung aller Matrizen ergibt. Allerdings müssen wir den etwas anders berechnen. Dafür benötigen wir keine Vektoren, sondern Matrizen (→ Effekt1.fx):

float4x4 ViewShow = mul(View, Projection); float4x4 WorldViewShow = mul(World, ViewShow); ...

Get Spieleprogrammierung mit dem XNA Framework: Entwickeln für PC und Xbox now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.