OpenGL is one of the most popular multi-platform application programming interface (API) used to produce three dimensional computer graphics applications.
Since version 3.0, it is known as the new era in the evolution of OpenGL because a wide range of new features were added as well as
marking the old fixed functions as deprecated that will be completely removed
from the core profile in version 3.1. Because of deprecation, GL ARB compatibility extension
was added to OpenGL in an attempt to enable graphic programmers to access the
old fixed functions.
In this work, we have decided to opt OpenGL core profile 3.3
based primarily on OpenGL shading language (GLSL) because it is efficient
programming and programmable. Moreover, it easily switches to OpenGL ES or
WebGL which are compatible with modern OpenGL core profile.