Freigeben über


Relative Adressierung (HLSL PS-Referenz)

Die Syntax [ ] kann nur in Registertypen verwendet werden, die in bestimmten Shadermodellen relativ behandelt werden können. Die unterstützten Formen der [ ] -Syntax sind wie folgt aufgeführt:

Hierbei gilt:

  • "R" bezeichnet jeden Registertyp, der relativ adressiert werden kann.
  • "A" bezeichnet jedes Register, das als Index verwendet werden kann, um andere Register relativ zu adressieren.
  • n0 - ni, m0 - mj und k sind ganze Zahlen >= 0.
[ ] Syntax Effektiver Index Beispiele
R[ A + m0 + ... + mj ] A + m0 + ... + mj c[ a0.x + 3 + 7 ]
R[ k ] ( = Rk ) k c[ 10 ] ( = c10 )
R[ A ] A c[ a0.y ]
Rk[ n0 + ... + ni + A + m0 + ... + mj ] A + k + n0 + ... + ni + m0 + ... + mj c8[ 3 + 2 + a0.w + 5 + 6 + 1 ]
R[ n0 + ... + ni + A + m0 + ... + mj ] A + n0 + ... + ni + m0 + ... + mj c[ 2 + 1 + aL + 3 + 4 + 5 ]
Rk[ A ] A + k c12[ aL ], c0[ a0.z ]
Rk[ A + m0 + ... + mj ] A + k + m0 + ... + mj v1[ aL + 4 + 8 ]
R[ n0 + ... + ni + A ] A + n0 + ... + ni o[ 3 + 1 + aL ]
Rk[ n0 + ... + ni + A ] A + k + n0 + ... + ni o1[ 2 + 1 + 3 + aL ]

 

Die Register sind in den folgenden Versionen verfügbar:

Registrierungstyp Pixel-Shaderversionen
Schleifenzähler: aL für Eingaberegister ps_3_0 und höher

 

Register