on-display now creates the shader program if it is nil.