dcl _ input _ sv (sm4 - asm)
Deklariert ein Shadereingaberegister, das erwartet, dass ein Systemwert aus einer vorherigen Phase bereitgestellt wird.
| dcl _ input sv v _ N [ .mask ], systemValueName [ , interpolationMode ] |
|---|
| Element | BESCHREIBUNG |
|---|---|
| vN[.mask] |
[in] Ein Scheitelpunktdatenregister.
|
| systemValueName |
[in] Der Systemwertname, bei dem es sich um eine Zeichenfolge handelt (siehe Systemwertsemantik),ohne das Präfix "SV_". |
| Interpolationmode |
[in] Optional. Der Interpolationsmodus, der sich darauf auswirkt, wie Werte während der Rasterung berechnet werden. der Modus wird nur von einem Pixel-Shader verwendet. Es kann sich um einen der folgenden Werte handeln:
|
Eine Komponentenmaske für eine Systemwertdeklaration kann eine geeignete Teilmenge von [ xyzw ] sein. Deklarationen dürfen sich nicht überlappen (jede Deklaration muss der Sequenz xyzw folgen). Beim Deklarieren von skalaren Systemwerten (z. B. Clip distance und cull distance) können Sie mehrere Systemwerte in einem einzigen Register deklarieren. Stellen Sie in diesem Fall sicher, dass andere Modifizierer wie die Interpolationsmodi übereinstimmen.
Diese Anweisung gilt für die folgenden Shaderstufen:
| Vertexshader | Geometrie-Shader | Pixelshader |
|---|---|---|
| x | x | x |
Diese Anweisung ist enthalten, um das Debuggen eines Shaders in der Assembly zu unterstützen. Sie können keinen Shader in der Assemblysprache mit shader Model 4 erstellen.
Beispiel
Im Folgenden finden Sie einige Beispiele:
// valid
dcl_input v0.y, linear
dcl_input_sv v0.w, clipDistance
dcl_input_sv v0.z, cullDistance
// invalid declarations
dcl_input v0.y, linear
dcl_input_sv v0.x, clipDistance // the y component was previously declared, this declaration must use
// either the z or w component
dcl_input v0.y, linearNoPerspective // the interpolation mode is linear-no-perspective
dcl_input_sv v0.z, renderTargetArrayIndex, constant // the interpolation modes is constant
// the interpolation modes must match
Shader-Mindestmodell
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 |