It’s difficult to imagine how games would look today without the quiet yet transformative change that Microsoft brought about in the year 2000. Twenty-five years ago, to this day, the company introduced DirectX 8. The release was accompanied by little fanfare, no generation-defining tech demo, but it carried one major breakthrough with it — programmable shaders — which would forever revolutionize the way GPUs render graphics.
Before DirectX 8, graphics cards worked on a fixed-function pipeline, meaning that almost everything was predefined, baked into the silicon itself. Lighting equations, texture blending, transformations; it was all at the mercy of the GPU’s support. For instance, in lieu of real-time reflections, you’d have environment maps because the GPU itself wasn’t able to calculate them dynamically. You were bound by the logic of the hardware, which wasn’t very flexible.
Think of it as adjusting knobs on a console. You can tweak the parameters slightly, but what if you wanted to change the very knobs themselves? Enter, DirectX 8.
DirectX 8’s programmable shaders
Microsoft added Shader Model 1.0 to DirectX, which came with Vertex Shader 1.0 that would allow devs to manipulate each vertex, and Pixel Shader 1.0 that would allow devs to control the final color of each pixel. Previously, none of this was really accessible, but DirectX 8 gave control to the people making the games, enabling them to write code to program the GPU to render in a certain way.