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 Vertexshader-Sampler: s0 bis s3. Vier Texturoberflächen können in einem einzigen Shaderdurchlauf gelesen werden.

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

Eine Samplingeinheit entspricht der Textursamplingphase und kapselt den samplingspezifischen Zustand, der von SetSamplerState bereitgestellt wird. Jeder Sampler identifiziert eindeutig eine einzelne Texturoberfläche, die mithilfe von SetTexture auf den entsprechenden Sampler festgelegt wird. Die gleiche Texturoberfläche kann jedoch auf mehrere Sampler festgelegt werden.

Zur Zeichnungszeit kann eine Textur nicht gleichzeitig als Renderziel und Textur in einer Phase festgelegt werden.

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

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

Vertexshaderversionen 1_1 2_0 2_sw 2_x 3_0 3_sw
Sampler x x

 

Vertex-Shaderregister

Vertextexturen in vs_3_0 (DirectX HLSL)