Factored out vertex and fragment shaders.