Freigeben über


dcl_input (sm4 - asm)

Deklariert ein Shadereingaberegister.

dcl_input vN[.mask][, interpolationMode]
Element BESCHREIBUNG
vN
[in] Ein Vertexdatenregister.
  • N ist eine ganze Zahl, die die Registernummer identifiziert.
  • [.mask] ist eine optionale Komponentenmaske (.xyzw), die angibt, welche der Registerkomponenten verwendet werden sollen.
Interpolationmode
[in] Optional. Der Interpolationsmodus, der nur bei Pixelshadereingaberegistern berücksichtigt wird. Es kann sich um einen der folgenden Werte handeln:
  • constant: Interpolieren Sie nicht zwischen Registerwerten.
  • linear: Interpolieren Sie linear zwischen Registerwerten.
  • linearCentroid – identisch mit linearer, aber zenzenter Klemmung beim Multisampling.
  • linearNoperspective - identisch mit linear, aber ohne perspektivische Korrektur.
  • linearNoperspectiveCentroid – identisch mit linearer, kernförmiger Klemmung beim Multisampling, keine Perspektivkorrektur.

Interpolationsnotizen

Vertexattribute werden standardmäßig von einem Pixelmittelpunkt interpoliert, wenn multisample Antialiasing ausgeführt wird. Wenn ein Pixelcenter nicht abgedeckt wird, wird vor der Interpolation ein Attribut in einen Pixelkern extrapoliert.

Für ein Pixel, das nicht vollständig abgedeckt ist, oder für ein Attribut, das keinen Pixelmittelpunkt abdeckt, können Sie den Schwerpunkt der Stichprobenentnahme angeben, wodurch die Stichprobenentnahme an einer beliebigen Stelle innerhalb des abgedeckten Bereichs des Pixels erzwungen wird. Da eine Beispielmaske (sofern verwendet) angewendet wird, bevor der Schwerpunkt berechnet wird, kann jeder von der Beispielmaske maskierte Beispielstandort nicht als Schwerpunktspeicherort ausgewählt werden.

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Verwenden Sie dcl_input_sv (sm4 - asm), um die Eingabe als Systemwert zu identifizieren.

Diese Anweisung ist enthalten, um das Debuggen eines Shaders in der Assembly zu unterstützen. Sie können mithilfe des Shadermodells 4 keinen Shader in der Assemblysprache erstellen.

Beispiel

Hier einige Beispiele.

dcl_input v3.xyz

dcl_input v0.x, linearCentroid

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 Ja
Shadermodell 4 ja
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Assembly des Shadermodells 4 (DirectX HLSL)