samplepos (sm4.1 – asm)

Fragt die Position eines Beispiels in einer bestimmten Shaderressourcensicht oder im Rasterisierer ab.

samplepos dest[.mask], srcResource[.swizzle], sampleIndex
Element BESCHREIBUNG
Dest
[in] Die Adresse der Ergebnisse des Vorgangs.
srcResource
[in] Die Shaderressource.
sampleIndex
[in] Der Index des Beispiels (skalarer Operand).

Hinweise

Diese Anweisung gibt die 2D-Beispielposition von sampleIndex für die angegebene Ressource zurück. Es ist nur für Ressourcen gültig, die mit ld2dms geladen werden können, es sei denn, der Rasterizer wird als srcResource angegeben.

srcResource kann ein t#-Register (eine Shaderressourcenansicht) oder ein Rasterizerregister sein.

Die Anweisung berechnet den Gleitkommavektor (Xposition, Yposition, 0, 0).

Der Swizzle auf srcResource ermöglicht es, die zurückgegebenen Werte willkürlich zu schwenken, bevor sie in das Ziel geschrieben werden. Die Beispielposition ist relativ zum Mittelpunkt des Pixels, basierend auf dem Pixelkoordinatensystem.

Wenn sampleIndex außerhalb der Grenzen liegt, wird ein Nullvektor zurückgegeben. Wenn keine Ressource an den angegebenen Slot gebunden ist, wird 0 zurückgegeben.

samplepos kann beispielsweise für benutzerdefinierte Auflösungen im Shadercode verwendet werden.

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

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

Shadermodell 4-Assembly (DirectX HLSL)