Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een programmeerbare hoekpunt-shader bestaat uit een set instructies die op hoekpuntgegevens werken. Registreert overdrachtsgegevens in en uit de ALU. Aanvullende controle kan worden toegepast om de instructie, de resultaten of welke gegevens worden weggeschreven te wijzigen.
Vertex shader-versie vs_3_0 breidt de functieset uit die wordt ondersteund door vs_2_x. Elk van de functies in vs_2_X waarvoor een limiet moet worden ingesteld, is beschikbaar in vs_3_0 zonder de limiet.
- Instructies: vs_3_0 bevat een lijst met de beschikbare instructies.
- Registers - vs_3_0 bevat de verschillende soorten registers die worden gebruikt door de hoekpunt-shader ALU.
- Vertex Shader Register Modifiers worden gebruikt om de manier waarop een instructie werkt te wijzigen.
- Vertex Shader Source Register Modifiers de bronregistergegevens wijzigen voordat de instructie wordt uitgevoerd.
- Bronregister Swizzling geeft extra controle over welke registeronderdelen worden gelezen, gekopieerd of geschreven.
- doelregistermaskering bepaalt welke onderdelen van het doelregister worden geschreven.
Nieuwe functies
Nieuwe functies van vertex shader-versie vs_3_0 worden weergegeven in de volgende secties.
Indexeringsregisters
In de eerdere shadermodellen kan alleen de bank voor het register worden geïndexeerd. In dit model kunnen de volgende registerbanken worden geïndexeerd met behulp van het lustellerregister (aL):
- Invoerregister (v#)
- Uitvoerregister (o#)
Hoekpunttex texturen
Dit shader-model ondersteunt het opzoeken van patronen in de hoekpunt-shader met behulp van texldl. De hoekpuntengine heeft vier patronenampleten (los van de verplaatsingskaart sampler en de texture samplers in de pixel-engine) die kunnen worden gebruikt om patronen te samplen die in die fasen zijn ingesteld. Zie hoekpuntpatroon in vs_3_0 (DirectX HLSL).
Frequentie van hoekpuntstroom
Met deze functie kan een subset van de invoerregisters worden geïnitialiseerd met een andere snelheid dan één keer per hoekpunt. Zie Teken niet-geïndexeerde geometrie.
Shader-uitvoer
Net als vs_2_0 kan de uitvoer van de shader variëren met een statisch stroombeheer. Wees voorzichtig met dynamische vertakking, omdat dit kan leiden tot shader-uitvoer per hoekpunt. Dit levert onvoorspelbare resultaten op op verschillende hardware.
Dynamisch stroombeheer
Alle instructies voor dynamisch stroombeheer worden ondersteund. De maximaal toegestane dieptewaarde voor nesten is 24. (Zie limieten voor het nesten van stroombeheer voor meer informatie.)
Tijdelijke registers
In totaal worden 32 tijdelijke registers (r#) ondersteund.
Besturingselement voor statische stroom
De maximale nestdiepte voor lus - vs/rep - versus is 4. De maximale nestdiepte voor oproep - vs/callnz bool - vs/callnz pred - vs is 4. Voor als bool - vsis de maximaal toegestane dieptewaarde voor nesten 24. (Zie limieten voor het nesten van stroombeheer voor meer informatie.)
Predicatie
Instructiepredicatie wordt ondersteund. Gebruik setp_comp - vs om het predicaatregister in te stellen.
Aantal instructies
Elke hoekpunt-shader is overal van 512 tot het aantal sleuven in MaxVertexShader30InstructionSlots in D3DCAPS9toegestaan. Het aantal instructies dat wordt uitgevoerd, kan veel hoger zijn vanwege de ondersteuning van de lus/rep; Dit wordt echter beperkt door MaxVShaderInstructionsExecuted in D3DCAPS9 die ten minste 0xFFFF moeten zijn.
Apparaatlimieten
Als Vertex Shader 3_0 wordt ondersteund, worden de volgende hoofdletters ondersteund in hardware (minimaal):
| Pet | Vermogen |
|---|---|
| Schaduwkappen |
|
| GuardBandLeft, GuardBandTop, GuardBandRight, GuardBandBottom | 8K |
| VertexShaderVersion | 3_0 |
| MaxVertexShaderConst | 256 |
| MaxVertexShader30InstructionSlots | 512 |
| Mistondersteuning | D3DPRASTERCAPS_FOGVERTEX |
| VertexTextureFilterCaps | |
| D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET | Hoekpuntelementen in een hoekpuntdeclaratie kunnen dezelfde stroomverschil delen. |
| Hoekpuntindelingen |
|
Verwante onderwerpen