Condividi tramite


Funzioni intrinseche

Nella tabella seguente sono elencate le funzioni intrinseche disponibili in HLSL. Ogni funzione ha una breve descrizione e un collegamento a una pagina di riferimento con maggiori dettagli sull'argomento di input e sul tipo restituito.

Nome Descrizione Modello di shader minimo
abort Termina l'esecuzione della chiamata di disegno o dispatch corrente. 4
abs Valore assoluto (per componente).
acos Restituisce l'arcocosina di ogni componente di x.
tutto Verificare se tutti i componenti di x sono diversi da zero.
AllMemoryBarrier Blocca l'esecuzione di tutti i thread in un gruppo fino al completamento di tutti gli accessi alla memoria. 5
AllMemoryBarrierWithGroupSync Blocca l'esecuzione di tutti i thread in un gruppo fino a quando non sono stati completati tutti gli accessi alla memoria e tutti i thread nel gruppo hanno raggiunto questa chiamata. 5
qualsiasi Verificare se un componente di x è diverso da zero.
asdouble Reinterpreta un valore di cast in un valore double. 5
asfloat Convertire il tipo di input in un tipo float. 4
asin Restituisce l'arcosine di ogni componente di x.
asint Convertire il tipo di input in un numero intero. 4
asuint Reinterpreta il modello di bit di un tipo a 64 bit in un uint. 5
asuint Convertire il tipo di input in un intero senza segno. 4
atan Restituisce l'arcotangente di x.
atan2 Restituisce l'arcotangente di due valori (x,y).
ceil Restituisce l'intero più piccolo maggiore o uguale a x.
CheckAccessFullyMapped Determina se tutti i valori di un'operazione Sample o Load hanno eseguito l'accesso ai riquadri mappati in una risorsa affiancata. 5
Morsetto Blocca x all'intervallo [min, max].
clip Rimuove il pixel corrente, se un componente di x è minore di zero.
cos Restituisce il coseno di x.
cosh Restituisce il coseno iperbolico di x.
countbit Conta il numero di bit (per componente) nell'intero di input. 5
Croce Restituisce il prodotto incrociato di due vettori 3D.
D3DCOLORtoUBYTE4 Swizzles e scale componenti del vettore 4D xto compensare la mancanza di supporto UBYTE4 in alcuni hardware.
Ddx Restituisce la derivata parziale di x rispetto alla coordinata x dello spazio dello schermo.
ddx_coarse Calcola una derivata parziale a bassa precisione rispetto alla coordinata x-spazio dello schermo. 5
ddx_fine Calcola una derivata parziale ad alta precisione rispetto alla coordinata x dello spazio dello schermo. 5
fangoso Restituisce la derivata parziale di x rispetto alla coordinata y dello spazio dello schermo.
ddy_coarse Calcola una derivata parziale a bassa precisione rispetto alla coordinata y dello spazio dello schermo. 5
ddy_fine Calcola una derivata parziale ad alta precisione rispetto alla coordinata y dello spazio dello schermo. 5
Gradi Converte x da radianti a gradi.
Determinante Restituisce il determinante della matrice quadrata m.
DeviceMemoryBarrier Blocca l'esecuzione di tutti i thread in un gruppo fino al completamento di tutti gli accessi alla memoria del dispositivo. 5
DeviceMemoryBarrierWithGroupSync Blocca l'esecuzione di tutti i thread in un gruppo fino a quando non sono stati completati tutti gli accessi alla memoria del dispositivo e tutti i thread del gruppo hanno raggiunto questa chiamata. 5
distance Restituisce la distanza tra due punti.
punto Restituisce il prodotto scalare di due vettori. 1
Dst Calcola un vettore di distanza. 5
errorf Invia un messaggio di errore alla coda di informazioni. 4
EvaluateAttributeCentroid Valuta il centroide pixel. 5
EvaluateAttributeAtSample Valuta in corrispondenza della posizione di esempio indicizzata. 5
EvaluateAttributeSnapped Valuta il centro del pixel con un offset. 5
exp Restituisce l'esponente di base e.
exp2 Esponente base 2 (per componente).
f16tof32 Converte il valore float16 archiviato nella metà bassa dell'oggetto uint in un valore float. 5
f32tof16 Converte un input in un tipo float16. 5
faceforward Restituisce -n * sign(dot(i, ng)).
firstbithigh Ottiene la posizione del primo bit impostato a partire dal bit dell'ordine più alto e funziona verso il basso, per componente. 5
firstbitlow Restituisce la posizione del primo bit impostato a partire dal bit dell'ordine più basso e funziona verso l'alto, per componente. 5
floor Restituisce l'intero più grande minore o uguale a x.
fma Restituisce l'aggiunta a precisione doppia di un oggetto * b + c. 5
fmod Restituisce il resto a virgola mobile di x/y.
Frac Restituisce la parte frazionaria di x.
frexp Restituisce la mantissa e l'esponente di x.
fwidth Restituisce abs(ddx(x)) + abs(ddy(x))
GetRenderTargetSampleCount Restituisce il numero di campioni di destinazione di rendering. 4
GetRenderTargetSamplePosition Restituisce una posizione di esempio (x,y) per un determinato indice di esempio. 4
GroupMemoryBarrier Blocca l'esecuzione di tutti i thread in un gruppo fino al completamento di tutti gli accessi condivisi di gruppo. 5
GroupMemoryBarrierWithGroupSync Blocca l'esecuzione di tutti i thread in un gruppo fino a quando non sono stati completati tutti gli accessi condivisi di gruppo e tutti i thread nel gruppo hanno raggiunto questa chiamata. 5
InterlockedAdd Esegue un'aggiunta atomica garantita di valore alla variabile di risorsa dest. 5
InterlockedAnd Esegue un atomico garantito e . 5
InterlockedCompareExchange Confronta in modo atomico l'input con il valore di confronto e scambia il risultato. 5
InterlockedCompareStore Confronta in modo atomico l'input con il valore di confronto. 5
InterlockedExchange Assegna il valore a dest e restituisce il valore originale. 5
InterlockedMax Esegue un numero massimo atomico garantito. 5
InterlockedMin Esegue un min atomico garantito. 5
InterlockedOr Esegue un atomico garantito o . 5
InterlockedXor Esegue un xor atomico garantito. 5
isfinite Restituisce true se x è finito, false in caso contrario.
isinf Restituisce true se x è +INF o -INF; in caso contrario, false.
isnan Restituisce true se x è NAN o QNAN, false in caso contrario.
ldexp Restituisce x * 2exp
length Restituisce la lunghezza del vettore v.
lerp Restituisce x + s(y - x).
Illuminato Restituisce un vettore di illuminazione (ambiente, diffuso, speculare, 1)
log Restituisce il logaritmo di base e di x.
log10 Restituisce il logaritmo di base 10 di x.
log2 Restituisce il logaritmo di base 2 di x.
matto Esegue un'operazione di moltiplicazione/aggiunta aritmetica su tre valori. 5
max Seleziona il valore maggiore di x e y.
min Seleziona il minore di x e y.
modf Suddivide il valore x in parti frazionarie e intere.
msad4 Confronta un valore di riferimento a 4 byte e un valore di origine a 8 byte e accumula un vettore di 4 somme. 5
mul Esegue la moltiplicazione della matrice usando x e y. 1
Rumore Genera un valore casuale usando l'algoritmo Perlin-noise.
Normalizzare Restituisce un vettore normalizzato.
pow Restituisce xy.
printf Invia un messaggio di shader personalizzato alla coda di informazioni. 4
Process2DQuadTessFactorsAvg Genera i fattori di tassellatura corretti per una patch quad. 5
Process2DQuadTessFactorsMax Genera i fattori di tassellatura corretti per una patch quad. 5
Process2DQuadTessFactorsMin Genera i fattori di tassellatura corretti per una patch quad. 5
ProcessIsolineTessFactors Genera i fattori di tassellatura arrotondati per una isoline. 5
ProcessQuadTessFactorsAvg Genera i fattori di tassellatura corretti per una patch quad. 5
ProcessQuadTessFactorsMax Genera i fattori di tassellatura corretti per una patch quad. 5
ProcessQuadTessFactorsMin Genera i fattori di tassellatura corretti per una patch quad. 5
ProcessTriTessFactorsAvg Genera i fattori di tassellatura corretti per una patch tri. 5
ProcessTriTessFactorsMax Genera i fattori di tassellatura corretti per una patch tri. 5
ProcessTriTessFactorsMin Genera i fattori di tassellatura corretti per una patch tri. 5
Radianti Converte x da gradi a radianti. 1
rcp Calcola un reciproco rapido, approssimativo, per componente. 5
Riflettere Restituisce un vettore di reflection. 1
refract Restituisce il vettore di rifrazione.
reversebit Inverte l'ordine dei bit, per componente. 5
round Arrotonda x all'intero più vicino
rsqrt Restituisce 1/sqrt(x)
Saturare Blocca x all'intervallo [0, 1] 1
sign Calcola il segno di x.
sin Restituisce il seno di x
Sincos Restituisce il seno e il coseno di x.
sinh Restituisce il seno iperbolico di x
smussato Restituisce un'interpolazione emite uniforme tra 0 e 1.
sqrt Radice quadrata (per componente)
Passo Restituisce (x >= a) ? 1 : 0
tan Restituisce la tangente di x
tanh Restituisce la tangente iperbolica di x
tex1D,t Ricerca di trame 1D. 1
tex1D(s, t, ddx, ddy) Ricerca di trame 1D.
tex1Dbias Ricerca di trame 1D con distorsione.
tex1Dgrad Ricerca di trame 1D con una sfumatura.
tex1Dlod Ricerca di trame 1D con LOD.
tex1Dproj Ricerca di trame 1D con divisione proiettata.
tex2D(s, t) Ricerca di trame 2D.
tex2D(s, t, ddx, ddy) Ricerca di trame 2D.
tex2Dbias Ricerca di trame 2D con distorsione.
tex2Dgrad Ricerca di trame 2D con una sfumatura.
tex2Dlod Ricerca di trame 2D con LOD. 3
tex2Dproj Ricerca di trame 2D con divisione proiettata.
tex3D(s, t) Ricerca di trame 3D.
tex3D(s, t, ddx, ddy) Ricerca di trame 3D.
tex3Dbias Ricerca di trame 3D con distorsione.
tex3Dgrad Ricerca di trame 3D con una sfumatura.
tex3Dlod Ricerca di trame 3D con LOD.
tex3Dproj Ricerca di trame 3D con divisione proiettata.
texCUBE(s, t) Ricerca trama cubo.
texCUBE(s, t, ddx, ddy) Ricerca trama cubo.
texCUBEbias Ricerca della trama del cubo con distorsione.
texCUBEgrad Ricerca della trama del cubo con una sfumatura.
texCUBElod Ricerca della trama del cubo con LOD.
texCUBEproj Ricerca della trama del cubo con divisione proiettata.
Recepire Restituisce la trasposizione della matrice m. 1
trunc Tronca i valori a virgola mobile a valori interi 1

 

¹ vedere la pagina di riferimento per le restrizioni.

Tipi di componenti e modelli

Le dichiarazioni di funzioni intrinseche HLSL usano tipi di componente e tipi di modello per gli argomenti dei parametri di input e i valori restituiti. I tipi disponibili sono elencati nella tabella seguente.

Questi tipi di modello Descrizione Supportare questi tipi di dati
matrice fino a 16 componenti a seconda della dichiarazione Tipi HLSL di base
oggetto oggetto sampler sampler, sampler1D, sampler2D, sampler3D, samplerCUBE
scalare 1 componente Tipi HLSL di base
vector Minimo 1 componente, massimo 4 componenti (inclusi) Tipi HLSL di base

 

Vedi anche

Informazioni di riferimento per HLSL