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.