The urge to write your own renderer is a powerful one. There are lots of folks out there who have full renderers that run on the GPU. The top-level program loads everything and draws one quad (or two triangles); the shaders programs do everything else.