Guida alla programmazione per HLSL
I dati entrano nella pipeline grafica come flusso di primitive e vengono elaborati dalle fasi shader. Le fasi effettive dello shader dipendono dalla versione di Direct3D, ma includono certamente i vertici, i pixel e le fasi geometry. Altre fasi includono lo scafo e gli shader di dominio per la tessellazione e lo shader di calcolo. Queste fasi sono completamente programmabili usando il linguaggio di ombreggiatura di alto livello (HLSL).
Gli shader HLSL possono essere compilati in fase di creazione o in fase di esecuzione e impostati in fase di esecuzione nella fase di pipeline appropriata. Gli shader Direct3D 9 possono essere progettati usando il modello shader 1, il modello 2 e il modello shader 3; Direct3D 10 shader può essere progettato solo nel modello shader 4. I shader Direct3D 11 possono essere progettati sul modello shader 5. Direct3D 11.3 e Direct3D 12 possono essere progettati sul modello shader 5.1 e Direct3D 12 possono essere progettati anche sul modello shader 6.
Contenuto della sezione
Argomento | Descrizione |
---|---|
Uso del collegamento di shader | Viene illustrato come creare funzioni HLSL precompilate, raggrupparle in librerie e collegarle a shader complete in fase di esecuzione. |
Scrittura di shader HLSL in Direct3D 9 | |
Uso di shader in Direct3D 9 | |
Uso di Shader in Direct3D 10 | |
Ottimizzazione dei shader HLSL | |
Debug di shader in Visual Studio | Lo strumento più recente per il debug degli shader ora viene fornito come funzionalità in Microsoft Visual Studio, denominato Debugger grafica di Visual Studio. |
Compilazione di shader | Ora esaminiamo vari modi per compilare il codice e le convenzioni shader per le estensioni di file per il codice shader. |
Specifica delle destinazioni del compilatore | Di seguito sono elencate le destinazioni per vari profili supportati dalle funzioni D3DCompile* e dal compilatore HLSL. |
Scomprimere e preparare DXGI_FORMAT per la modifica di immagini In-Place | |
Uso della precisione minima di HLSL | A partire da Windows 8, i driver grafici possono implementare tipi di dati scalari HLSL di precisione minimi usando qualsiasi precisione maggiore o uguale alla precisione di bit specificata. |
Modello HLSL Shader 5 | |
Modello HLSL Shader 5.1 | Questa sezione descrive le funzionalità di Shader Model 5.1 come si applicano in pratica a D3D12 e D3D11.3. Tutti gli hardware DirectX 12 supportano Shader Model 5.1. |
Modello 6.0 di HLSL Shader | Descrive gli intrinseci dell'operazione di onda aggiunti a HLSL Shader Model 6.0. |
Modello HLSL Shader 6.4 | Descrive gli intrinseci di Machine Learning aggiunti a HLSL Shader Model 6.4. |