title: High Level Shader Language
text: # High Level Shader Language
  
  High Level Shader Language or HLSL («lenguaje de sombreado de alto nivel») es un lenguaje de sombreado desarrollado por Microsoft para su uso con la interfaz de programación de aplicaciones Direct3D. Es análogo al lenguaje de sombreado GLSL usado con el estándar OpenGL. También es muy similar al lenguaje de sombreado CG de NVIDIA, ya que fueron desarrollados juntos.
  
  Los programas HLSL funcionan con estas tres formas, los vertex shaders, geometry shaders y pixel shaders. Un vertex shader es ejecutado para cada vértice que es usado por la aplicación, y es el principal responsable de transformar el vértice del objeto para poder verlo, generar las coordenadas de las texturas, y calcular los coeficientes de iluminación, como la tangente del vértice y vectores normales y binormales. Cuando un grupo de vértices (normalmente tres, para formar un triángulo) pasan por un vertex shader, su posición de salida es interpolada para formar píxeles dentro de su área. Este proceso se conoce como rasterización. Cada uno de estos píxeles pasan por un pixel shader, donde el resultado del color de la pantalla es calculado.
  
  Opcionalmente, una aplicación que use una interfaz Direct3D 10 y un hardware compatible con este, puede especificar un geometry shader. Este sombreador toma como entrada los tres vértices de un triángulo y usa esta información para generar (o teselar) triángulos adicionales, que son enviados al proceso de rasterización.
  
  