NV Shader Linker

NV Shader Linker was an attempt to build a traditional fixed function graphics pipeline using a series of shader fragments.

I built this tool to show developers how to implement fixed function shading on modern hardware without those facilities. The demo let you pick the number and type of lights you wanted to use, and then generated a working shader supporting them. The demo also applied the results to a model in NVIDIA Effects Browser. Skinning was supported, though I don’t recall if that was done in the shader!

The fun part of this project was figuring out how to declare shader ‘fragments’ and sew them together at runtime. Additionally, I did some rudimentary optimization to remove dead code and reduce register usage.

Not long after this, Microsoft shipped a similar system in their SDK, which was very similar to this one.


comments powered by Disqus