Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En la tabla siguiente, se enumeran las funciones intrínsecas disponibles en HLSL. Cada función tiene una breve descripción y un vínculo a una página de referencia que incluye más detalles sobre el argumento de entrada y el tipo de valor devuelto.
| Nombre | Descripción | Modelo de sombreador mínimo |
|---|---|---|
| abort | Finaliza la llamada de dibujo o distribución actual que se está ejecutando. | 4 |
| abs | Valor absoluto (por componente). | 1¹ |
| acos | Devuelve el arcocoseno de cada componente de x. | 1¹ |
| all | Prueba si todos los componentes de x son distintos de cero. | 1¹ |
| AllMemoryBarrier | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos a la memoria. | 5 |
| AllMemoryBarrierWithGroupSync | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos a la memoria y todos los subprocesos en el grupo hayan alcanzado esta llamada. | 5 |
| cualquiera | Prueba si algún componente de x es distinto de cero. | 1¹ |
| asdouble | Reinterpreta un valor convertido en un doble. | 5 |
| asfloat | Convierte el tipo de entrada en un valor flotante. | 4 |
| asin | Devuelve el arcoseno de cada componente de x. | 1¹ |
| asint | Convierte el tipo de entrada en un entero. | 4 |
| asuint | Reinterpreta el patrón de bits de un tipo de 64 bits en un entero sin signo. | 5 |
| asuint | Convierte el tipo de entrada en un entero sin signo. | 4 |
| atan | Devuelve el arcotangente de x. | 1¹ |
| atan2 | Devuelve el arcotangente de dos valores (x, y). | 1¹ |
| ceil | Devuelve el entero más pequeño que es mayor que o igual a x. | 1¹ |
| CheckAccessFullyMapped | Determina si todos los valores de una operación de muestra o carga a la que se ha accedido asignó mosaicos en un recurso en mosaico. | 5 |
| clamp | Fija x al rango [mín., máx.]. | 1¹ |
| clip | Descarta el píxel actual, si algún componente de x es menor que cero. | 1¹ |
| cos | Devuelve el coseno de x. | 1¹ |
| cosh | Devuelve el coseno hiperbólico de x. | 1¹ |
| countbits | Cuenta el número de bits (por componente) en el entero de entrada. | 5 |
| cross | Devuelve el producto cruzado de dos vectores 3D. | 1¹ |
| D3DCOLORtoUBYTE4 | Mezcla y modifica la escala de componentes del vector x 4D para compensar la falta de soporte UBYTE4 en algún hardware. | 1¹ |
| ddx | Devuelve la derivada parcial de x con respecto a la coordenada x del espacio de la pantalla. | 2¹ |
| ddx_coarse | Calcula una derivada parcial de baja precisión con respecto a la coordenada x del espacio de la pantalla. | 5 |
| ddx_fine | Calcula una derivada parcial de alta precisión con respecto a la coordenada x del espacio de la pantalla. | 5 |
| ddy | Devuelve la derivada parcial de x con respecto a la coordenada y del espacio de la pantalla. | 2¹ |
| ddy_coarse | Calcula una derivada parcial de baja precisión con respecto a la coordenada y del espacio de la pantalla. | 5 |
| ddy_fine | Calcula una derivada parcial de alta precisión con respecto a la coordenada y del espacio de la pantalla. | 5 |
| degrees | Convierte x de radianes a grados. | 1¹ |
| determinant | Devuelve el determinante de la matriz cuadrada m. | 1¹ |
| DeviceMemoryBarrier | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos a la memoria del dispositivo. | 5 |
| DeviceMemoryBarrierWithGroupSync | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos a la memoria del dispositivo y todos los subprocesos en el grupo hayan alcanzado esta llamada. | 5 |
| distance | Devuelve la distancia entre dos puntos. | 1¹ |
| dot | Devuelve el producto escalar de dos vectores. | 1 |
| dst | Calcula un vector de distancia. | 5 |
| errorf | Envía un mensaje de error a la cola de información. | 4 |
| EvaluateAttributeCentroid | Evalúa en el centroide de píxeles. | 5 |
| EvaluateAttributeAtSample | Evalúa en la ubicación de ejemplo indexada. | 5 |
| EvaluateAttributeSnapped | Evalúa en el centroide de píxeles con un desplazamiento. | 5 |
| exp | Devuelve el exponente con base e. | 1¹ |
| exp2 | Exponente con base 2 (por componente). | 1¹ |
| f16tof32 | Convierte el valor float16 almacenado en la mitad baja de la uint en un valor flotante. | 5 |
| f32tof16 | Convierte una entrada en un tipo float16. | 5 |
| faceforward | Devuelve -n * sign(dot(i, ng)). | 1¹ |
| firstbithigh | Obtiene la ubicación del primer bit establecido a partir del bit de orden más alto y hacia abajo, por componente. | 5 |
| firstbitlow | Devuelve la ubicación del primer bit establecido a partir del bit de orden más bajo y hacia arriba, por componente. | 5 |
| floor | Devuelve el entero más grande que es menor que o igual a x. | 1¹ |
| fma | Devuelve la suma multiplicada fusionada de doble precisión de a * b + c. | 5 |
| fmod | Devuelve el resto de punto flotante de x/y. | 1¹ |
| frac | Devuelve la parte fraccionaria de x. | 1¹ |
| frexp | Devuelve la mantisa y el exponente de x. | 2¹ |
| fwidth | Devuelve abs(ddx(x)) + abs(ddy(x)) | 2¹ |
| GetRenderTargetSampleCount | Devuelve el número de ejemplos de destino de representación. | 4 |
| GetRenderTargetSamplePosition | Devuelve una posición de ejemplo (x,y) para un índice de ejemplo determinado. | 4 |
| GroupMemoryBarrier | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos compartidos de grupo. | 5 |
| GroupMemoryBarrierWithGroupSync | Bloquea la ejecución de todos los subprocesos de un grupo hasta que se hayan completado todos los accesos compartidos de grupo se hayan completado y todos los subprocesos en el grupo hayan alcanzado esta llamada. | 5 |
| InterlockedAdd | Realiza un agregado atómico garantizado de valor a la variable de recurso dest. | 5 |
| InterlockedAnd | Realiza un and atómico garantizado. | 5 |
| InterlockedCompareExchange | Compara de forma atómica la entrada con el valor de comparación e intercambia el resultado. | 5 |
| InterlockedCompareStore | Compara de forma atómica la entrada con el valor de comparación. | 5 |
| InterlockedExchange | Asigna valor a dest y devuelve el valor original. | 5 |
| InterlockedMax | Realiza un max atómico garantizado. | 5 |
| InterlockedMin | Realiza un min atómico garantizado. | 5 |
| InterlockedOr | Realiza un or atómico garantizado. | 5 |
| InterlockedXor | Realiza un xor atómico garantizado. | 5 |
| isfinite | Devuelve true si x es finito; false en caso contrario. | 1¹ |
| isinf | Devuelve true si x es +INF o -INF; false en caso contrario. | 1¹ |
| isnan | Devuelve true si x es NAN o QNAN; false en caso contrario. | 1¹ |
| ldexp | Devuelve x * 2exp | 1¹ |
| length | Devuelve la longitud del vector v. | 1¹ |
| lerp | Devuelve x + s(y - x). | 1¹ |
| lit | Devuelve un vector de iluminación (ambiente, difuso, especular, 1) | 1¹ |
| log | Devuelve el logaritmo con base-e de x. | 1¹ |
| log10 | Devuelve el logaritmo con base-10 de x. | 1¹ |
| log2 | Devuelve el logaritmo con base-2 de x. | 1¹ |
| mad | Realiza una operación de multiplicación o adición aritmética en tres valores. | 5 |
| max | Selecciona el mayor entre x y y. | 1¹ |
| min | Selecciona el menor entre x y y. | 1¹ |
| modf | Divide el valor x en partes fraccionales y enteras. | 1¹ |
| msad4 | Compara un valor de referencia de 4 bytes y un valor de origen de 8 bytes y acumula un vector de 4 sumas. | 5 |
| mul | Realiza la multiplicación de matriz mediante x y y. | 1 |
| noise | Genera un valor aleatorio mediante el algoritmo de ruido Perlin. | 1¹ |
| normalize | Devuelve un vector normalizado. | 1¹ |
| pow | Devuelve xy. | 1¹ |
| printf | Envía un mensaje de sombreador personalizado a la cola de información. | 4 |
| Process2DQuadTessFactorsAvg | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| Process2DQuadTessFactorsMax | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| Process2DQuadTessFactorsMin | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| ProcessIsolineTessFactors | Genera los factores de teselación redondeados para una isolínea. | 5 |
| ProcessQuadTessFactorsAvg | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| ProcessQuadTessFactorsMax | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| ProcessQuadTessFactorsMin | Genera los factores de teselación corregidos para un parche cuádruple. | 5 |
| ProcessTriTessFactorsAvg | Genera los factores de teselación corregidos para un parche triple. | 5 |
| ProcessTriTessFactorsMax | Genera los factores de teselación corregidos para un parche triple. | 5 |
| ProcessTriTessFactorsMin | Genera los factores de teselación corregidos para un parche triple. | 5 |
| radians | Convierte x de grados a radianes. | 1 |
| rcp | Calcula una recíproca rápida, aproximada y por componente. | 5 |
| reflect | Devuelve un vector de reflejo. | 1 |
| refract | Devuelve el vector de refracción. | 1¹ |
| reversebits | Invierte el orden de los bits, por componente. | 5 |
| round | Redondea x al entero más próximo. | 1¹ |
| rsqrt | Devuelve 1 / sqrt(x) | 1¹ |
| saturate | Fija x al rango [0, 1] | 1 |
| sign | Calcula el signo de x. | 1¹ |
| sin | Devuelve el seno de x. | 1¹ |
| sincos | Devuelve el seno y coseno de x. | 1¹ |
| sinh | Devuelve el seno hiperbólico de x. | 1¹ |
| smoothstep | Devuelve una interpolación de Hermite suave entre 0 y 1. | 1¹ |
| sqrt | Raíz cuadrada (por componente) | 1¹ |
| step | Devuelve (x >= a) ? 1 : 0 | 1¹ |
| tan | Devuelve la tangente de x. | 1¹ |
| tanh | Devuelve la tangente hiperbólica de x. | 1¹ |
| tex1D(s, t) | Búsqueda de texturas 1D. | 1 |
| tex1D(s, t, ddx, ddy) | Búsqueda de texturas 1D. | 2¹ |
| tex1Dbias | Búsqueda de textura 1D con sesgo. | 2¹ |
| tex1Dgrad | Búsqueda de textura 1D con un degradado. | 2¹ |
| tex1Dlod | Búsqueda de textura 1D con LOD. | 3¹ |
| tex1Dproj | Búsqueda de textura 1D con división proyectiva. | 2¹ |
| tex2D(s, t) | Búsqueda de texturas 2D. | 1¹ |
| tex2D(s, t, ddx, ddy) | Búsqueda de texturas 2D. | 2¹ |
| tex2Dbias | Búsqueda de textura 2D con sesgo. | 2¹ |
| tex2Dgrad | Búsqueda de textura 2D con un degradado. | 2¹ |
| tex2Dlod | Búsqueda de textura 2D con LOD. | 3 |
| tex2Dproj | Búsqueda de textura 2D con división proyectiva. | 2¹ |
| tex3D(s, t) | Búsqueda de textura 3D. | 1¹ |
| tex3D(s, t, ddx, ddy) | Búsqueda de textura 3D. | 2¹ |
| tex3Dbias | Búsqueda de textura 3D con sesgo. | 2¹ |
| tex3Dgrad | Búsqueda de textura 3D con un degradado. | 2¹ |
| tex3Dlod | Búsqueda de textura 3D con LOD. | 3¹ |
| tex3Dproj | Búsqueda de textura 3D con división proyectiva. | 2¹ |
| texCUBE(s, t) | Búsqueda de textura de cubo. | 1¹ |
| texCUBE(s, t, ddx, ddy) | Búsqueda de textura de cubo. | 2¹ |
| texCUBEbias | Búsqueda de textura de cubo con sesgo. | 2¹ |
| texCUBEgrad | Búsqueda de textura de cubo con un degradado. | 2¹ |
| texCUBElod | Búsqueda de textura de cubo con LOD. | 3¹ |
| texCUBEproj | Búsqueda de textura de cubo con división proyectiva. | 2¹ |
| transpose | Devuelve la transposición de la matriz m. | 1 |
| trunc | Trunca los valores de punto flotante a valores enteros. | 1 |
¹ Consulte la página de referencia para las restricciones.
Tipos de componentes y plantillas
Las declaraciones de función intrínseca de HLSL usan tipos de componentes y tipos de plantilla para los argumentos de parámetros de entrada y los valores de devolución. Los tipos disponibles aparecen en la siguiente tabla.
| Estos tipos de plantillas | Descripción | Admiten estos tipos de datos |
|---|---|---|
| matriz | hasta 16 componentes en función de la declaración | Tipos básicos de HLSL |
| object | objeto sampler | sampler, sampler1D, sampler2D, sampler3D, samplerCUBE |
| escalar | 1 componente | Tipos básicos de HLSL |
| vector | 1 componente mínimo, 4 componentes máximo (inclusive) | Tipos básicos de HLSL |
Consulte también