Sampler (Direct3D 9 asm-vs)

Ein Sampler ist ein Eingabe-Pseudoregister für einen Vertex-Shader, der zum Identifizieren der Samplingphase verwendet wird. Es gibt vier Vertex-Shader-Sampler: s0 bis s3. Vier Texturoberflächen können in einem einzelnen Shaderdurchlauf gelesen werden.

Sampler (Direct3D 9 asm-vs)s sind Pseudoregister, da Sie diese nicht direkt lesen oder schreiben können.

Eine Samplingeinheit entspricht der Textursamplingstufe und kapselt den samplingspezifischen Zustand, der von SetSamplerState bereitgestellt wird. Jeder Sampler identifiziert eindeutig eine einzelne Texturoberfläche, die mit dem SetTexture auf den entsprechenden Sampler festgelegt ist. Die gleiche Texturoberfläche kann jedoch auf mehreren Samplern festgelegt werden.

Zum Zeichnen kann eine Textur nicht gleichzeitig als Renderziel und textur in einer Phase festgelegt werden.

Da es vier Sampler gibt, können bis zu vier Texturoberflächen in einem einzigen Shaderdurchlauf gelesen werden. Ein Sampler kann als einziges Argument in der Texturladeanweisung angezeigt werden: texldl - vs.

Wenn ein Sampler verwendet wird, muss er in vs_3_0 am Anfang des Shaderprogramms mithilfe der dcl_samplerType -Anweisung (sm3 - vs asm) deklariert werden.

Vertex-Shaderversionen 1_1 2_0 2_sw 2_x 3_0 3_sw
Sampler x x

 

Vertex-Shaderregister

Vertextexttexturen in vs_3_0 (DirectX HLSL)