OpenGL is an API tied to the hardware, not a programming language or compiler.

One thing that stuck out at me when reading the three articles is that there exists an OpenGL ES, which is a subset of the functionality taken from desktop OpenGL and used in embedded devices such as phones, consoles, appliances and vehicles that have smaller hardware. Such functionality is giving way to awesome graphical interfaces for entertainment or applicational purposes, such as a car's GPS.

Another thing that I found interesting is that OpenGL, again being an API, is supported by multiple programming languages. With the persistant use of Processing 1.0 in class, we can find that the OpenGL library is highly supported by the language. By importing the library, we can directly accelerate the graphics card to provide substantial use for what we code. Since Processing 1.0 is a well defined language for graphic design, it's methods are closely related to the OpenGL library. After importing the library, all methods could be substatially the same. A call to line(x0, y0, x1, y1) will execute the same way, yet they will be rendered differently and more likely faster.

The last thing I found interesting is how other languages provide use for the library. Processing 1.0 is just one example, yet the possibilites of what other languages provide is quite extravagant. PyOpenGL is a python supported version of OpenGL. Python is a scripting language which runs in real time and can provide fast and direct access to the uses of OpenGL. With the access of the real time capabilities simply drawing objects and shapes can be accomplished. Instead of having to compile everytime a change is made, the real time capabilites can be seen almost instantaneously. When looking at programs such as Maya, an advanced modeling application, we can see the possibilites of these uses. Maya offers its own language, the Maya Embedded Language or MEL for short, but also includes the uses of Python. Both offer the concept of creating, removing, saving and manipulating graphical objects with simple commands.

0 comments: