Shader-based software renderer