ps_1_1, ps_1_2, ps_1_3, ps_1_4

L'assembler pixel shader è costituito da un set di istruzioni che operano sui dati pixel contenuti nei registri. Le operazioni vengono espresse come istruzioni costituite da un operatore e uno o più operandi. Le istruzioni usano i registri per trasferire i dati in e fuori dall'ALU pixel shader. I registri possono essere usati anche da alcune istruzioni per contenere risultati temporanei.

Nota

Il supporto di HLSL per pixel shader 1.x è deprecato.

 

Istruzioni

Esistono due categorie principali di istruzioni per pixel shader: istruzioni aritmetiche e istruzioni di indirizzamento della trama. Le istruzioni aritmetiche modificano i dati del colore. L'indirizzamento delle trame elabora i dati delle coordinate della trama e nella maggior parte dei casi, campione di una trama. Le istruzioni del pixel shader vengono eseguite in base al pixel; ovvero, non hanno conoscenza di altri pixel nella pipeline.

Le istruzioni per l'indirizzamento della trama usano uno slot, ma è possibile associare istruzioni aritmetiche per abilitare entrambi i componenti di colore (RGB) e un'istruzione di componente alfa in un singolo slot.

ps_1_1, ps_1_2, ps_1_3, istruzioni ps_1_4 contiene un elenco delle istruzioni disponibili.

Quando il multicampionamento è abilitato, gli shader pixel vengono eseguiti una sola volta per pixel, non una volta per ogni subpixel. Il multicampionamento aumenta solo la risoluzione dei bordi poligoni, oltre ai test di profondità e stencil. Ad esempio, se è abilitato il multicampionamento 3x3 e viene trovato un triangolo che viene rasterizzato per coprire cinque dei nove sottopixel per un determinato pixel, lo shader pixel viene eseguito una sola volta e lo stesso risultato del colore viene applicato a tutti i cinque subpixel.

Registri

ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registri elenca i diversi registri usati dall'ALU shader.

Modificatori

I modificatori per ps_1_X possono essere usati per modificare la funzionalità di un'istruzione o i dati letti da o scritti in un registro.

Direct3D 9 richiede calcoli intermedi per mantenere almeno la precisione a 8 bit per tutti i formati di superficie. È consigliabile una precisione maggiore (12 bit) per la matematica in fase e la saturazione a 8 bit tra le fasi della trama. Non sono supportate modalità di arrotondamento modificabili o eccezioni. La moltiplicazione deve essere supportata con una precisione arrotondamento più vicino per mantenere la perdita di precisione fino a un minimo.

Conteggio sampler

Il numero di campioni di trama disponibili è:

  • Per ps_1_0 - ps_1_3, il massimo è 4.
  • Per ps_1_4, il massimo è 6.

Pixel Shader