I’ve barely scratched the surface of HLSL. It’s pretty confusing stuff to dive into. I did manage to pick up on some of the syntax, semantics and functions to program my first vertex and pixel shaders. Vertex shaders are executed once per visible vertex in the scene. Similarly, pixel shaders are executed once for each pixel drawn.
I never really knew what shader programming was until now. I think I now understand why companies might have a person dedicated to programming shaders on the team. HLSL is a very powerful language for making full use of a wide range of capabilities for the latest graphics cards. In short, learning HLSL is a bag of hurt, but it makes things pretty.