As I understand it, Blender uses OpenGL for viewport drawing and preview rendering, but not for full rendering. For a final render, it uses either OpenCL or CUDA (depending on your graphics card). A few of the steps in the OpenGL pipeline are fragment shading, tessellation, and rasterization. From what I know about Blender Internal, it is a hybrid engine that uses both rasterization and ray-tracing. It also does shading and tessellation. Considering that these steps are also done in OpenGL, it seems to me that BI uses some steps of the OpenGL process for full rendering.
So that is my question: does Blender Internal use some of the OpenGL steps (fragment shading, tessellation, and rasterization), or does it recalculate those steps specifically for full rendering? I read a while back that BI doesn't use any OpenGL, but I'm not sure if that person was correct, or if I simply misunderstood what he wrote.