I also recommend OpenTK for developing OpenGL using C #.
You are correct that new versions of OpenGL (versions 3 and 4) support a shader approach to rendering, and this is recommended as an “advanced compatible” way for all new OpenGL development.
However, you can initialize OpenGL with either a "main" (shader) or a "compatible" (old-fashioned) profile at startup. A compatible profile supports the classic OpenGL fixed pipeline programming API.
You can view more here
source share