OpenGL is a specification for developing 2D and 3D graphics applications, and it has many implementations. In this chapter, we learned a lot about it, including drawing primitives such as triangles, integrating it with the Qt library, using a texture to render images, and filtering images in the fragment shaders. Additionally, we used OpenGL in a non-typical way, that is, we didn't use it for graphics rendering, but for heterogeneous computing and processing images on the GPU in parallel.
Finally, we learned how to integrate OpenCV and OpenGL, and, in my opinion, by comparing this approach to using the raw OpenGL API, this is not a recommended way for a production application, but feel free to use it in your attempts.
With the end of this chapter, we have finished the book. I hope that all the projects we developed with Qt, OpenCV, Tesseract, the many DNN models,...