Constant Booleaanse register (HLSL PS-verwijzing)

Dit register is een verzameling bits die worden gebruikt in instructies voor statische stroombesturing (bijvoorbeeld als bool - ps - else - ps - endif - ps). Er zijn er 16, dus een shader kan 16 onafhankelijke vertakkingsomstandigheden hebben. Ze kunnen worden ingesteld met defb - ps of Set PixelShaderConstantB.

Het gedrag van arceringsconstanten is gewijzigd tussen Direct3D 8 en Direct3D 9.

  • Voor Direct3D 9 wijzen constanten die zijn ingesteld met defx waarden toe aan de arceringsconstante ruimte. De levensduur van een constante die met defx is gedeclareerd, is alleen beperkt tot de uitvoering van die shader. Omgekeerd initialiseren constanten die zijn ingesteld met behulp van de API's SetXXXShaderConstantX constanten in globale ruimte. Constanten in de globale ruimte worden pas gekopieerd naar de lokale ruimte (zichtbaar voor de shader) totdat SetxxxShaderConstants wordt aangeroepen.
  • Voor Direct3D 8 wijzen constanten die zijn ingesteld met defx of de API's beide waarden toe aan de arceringsconstante ruimte. Telkens wanneer de shader wordt uitgevoerd, worden de constanten gebruikt door de huidige shader, ongeacht de techniek die wordt gebruikt om ze in te stellen.
Pixel shader-versies 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Constant Booleaanse register x x x

 

registreert