stringtranslate.com

Lenguaje de sombreado de alto nivel

Una escena que contiene varios sombreadores HLSL 2D diferentes. La distorsión de la estatua se logra puramente físicamente, mientras que la textura del marco rectangular al lado se basa en la intensidad del color. El cuadrado del fondo ha sido transformado y girado . La transparencia parcial y el reflejo del agua en primer plano se añaden mediante un sombreador aplicado finalmente a toda la escena.

El lenguaje de sombreado de alto nivel [1] o lenguaje de sombreado de alto nivel [2] ( HLSL ) es un lenguaje de sombreado patentado desarrollado por Microsoft para la API Direct3D 9 para aumentar el lenguaje ensamblador del sombreador y se convirtió en el lenguaje de sombreado requerido. para el modelo de sombreador unificado de Direct3D 10 y superior.

HLSL es análogo al lenguaje de sombreado GLSL utilizado con el estándar OpenGL . Es muy similar al lenguaje de sombreado Nvidia Cg , ya que se desarrolló junto con él. Las primeras versiones de los dos idiomas se consideraban idénticas, sólo que se comercializaban de forma diferente. [3] Los sombreadores HLSL pueden permitir aumentos profundos de velocidad y detalle, así como muchos efectos especiales en gráficos por computadora tanto 2D como 3D . [ cita necesaria ]

Los programas HLSL vienen en seis formas: sombreadores de píxeles (fragmento en GLSL), sombreadores de vértices , sombreadores de geometría , sombreadores de cálculo , sombreadores de teselación (sombreadores de casco y dominio) y sombreadores de trazado de rayos (sombreadores de generación de rayos, sombreadores de intersección, cualquier impacto/golpe más cercano). / Señorita Shaders). Se ejecuta un sombreador de vértices para cada vértice enviado por la aplicación y es el principal responsable de transformar el vértice del espacio de objetos al espacio de visualización, generar coordenadas de textura y calcular coeficientes de iluminación, como los vectores normal, tangente y bitangente del vértice. Cuando un grupo de vértices (normalmente 3, para formar un triángulo) pasa por el sombreador de vértices, su posición de salida se interpola para formar píxeles dentro de su área; este proceso se conoce como rasterización .

Opcionalmente, una aplicación que utiliza una interfaz Direct3D 10/11/12 y hardware Direct3D 10/11/12 también puede especificar un sombreador de geometría. Este sombreador toma como entrada algunos vértices de una primitiva (triángulo/línea/punto) y utiliza estos datos para generar/degenerar (o teselar ) primitivas adicionales o para cambiar el tipo de primitivas, cada una de las cuales luego se envía al rasterizador.

D3D11.3 y D3D12 introdujeron Shader Model 5.1 [4] y versiones posteriores 6.0. [5]

Comparación de modelos de sombreado

Las GPU enumeradas son el hardware que admitió por primera vez las especificaciones dadas. Los fabricantes generalmente admiten todos los modelos de sombreadores inferiores a través de controladores. Tenga en cuenta que los juegos pueden afirmar que requieren una determinada versión de DirectX, pero no necesariamente requieren una GPU que cumpla con las especificaciones completas de esa versión, ya que los desarrolladores pueden usar una versión superior de la API de DirectX para apuntar a hardware con especificaciones de Direct3D más bajas; por ejemplo, DirectX 9 expone características de hardware de nivel DirectX7 que DirectX7 no mostró, apuntando a su canal de T&L de función fija.

Comparación de sombreadores de píxeles


"32 + 64" para instrucciones ejecutadas significa "32 instrucciones de textura y 64 instrucciones aritméticas".

Comparación de sombreadores de vértices

Ver también

Notas a pie de página

  1. ^ "Escribir sombreadores HLSL en Direct3D 9". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  2. ^ "Lenguaje de sombreado de alto nivel (HLSL)". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  3. ^ "Fusion Industries :: Preguntas frecuentes sobre Cg y HLSL ::". 24 de agosto de 2012. Archivado desde el original el 24 de agosto de 2012.
  4. ^ "Objetos del modelo Shader 5.1". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  5. ^ "Modelo de sombreador HLSL 6.0". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  6. ^ abcdef "Diferencias del sombreador de píxeles". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  7. ^ abcde Peeper, Craig; Mitchell, Jason L. (julio de 2003). "Introducción al lenguaje de sombreado de alto nivel DirectX 9". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  8. ^ abc Shimpi, Anand Lal . "NVIDIA presenta GeForce FX (NV30)". AnandTech . Consultado el 22 de febrero de 2021 .
  9. ^ Wilson, Derek. "ATI Radeon X800 Pro y XT Platinum Edition: llega R420". AnandTech . Consultado el 22 de febrero de 2021 .
  10. ^ ab Shader Model 3.0, Ashu Rege, Grupo de tecnología para desarrolladores de NVIDIA, 2004.
  11. ^ ab El sistema Direct3D 10, David Blythe, Microsoft Corporation, 2006.
  12. ^ ab "Registros - ps_4_1". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  13. ^ ab "Registros - ps_5_0". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .
  14. ^ abcd "Diferencias del sombreador de vértices". Documentos de Microsoft . Consultado el 22 de febrero de 2021 .

enlaces externos