My previous Shader experience comes from using DirectX 9, so I'm used to Pixel Shaders. What exactly is the difference between a Fragment Shader and a Pixel Shader, or are they just different names for the same thing? If not, are they at least capable of the same things, such as per-pixel lighting, specular and emissive mapping, and environment mapping?
Also, is it necessary for me to use the OGL Shader Language? With DX9 I used shader assembly code. I assume that OGL Shader Language corresponds to Microsoft's High-Level Shader Language? So how does OGL shader assembly code differ from DirectX shader assembly code?
I'm writing this game engine in C++, so I was quite looking forward to going back to the bare metal and writing some hand-tuned assembly code for my shaders...



