Category: 

What Is OpenGL® for Ubuntu®?

Article Details
  • Written By: Eugene P.
  • Edited By: Angela B.
  • Last Modified Date: 02 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
The atmosphere of Jupiter's moon Io collapses every time it is eclipsed by the planet.   more...

September 29 ,  2008 :  The Dow Jones Industrial Average experienced its largest one-day drop in history.  more...

OpenGL® for Ubuntu® is an implementation of the Open Graphics Library® that has been specifically written, designed and compiled to work within the unique software environment of the Ubuntu® operating system. Ubuntu® is a version of the Debian® Linux® operating system that is designed to be very user friendly and includes many graphics drivers for using OpenGL® programs within the initial installation. Similar to other versions of the OpenGL® libraries and extensions that have been designed to run under other operating systems and on other devices, the actual libraries for usage and development are maintained by a third party, separate from the main development branch that handles OpenGL®. The libraries used in OpenGL® for Ubuntu® are generally updated as quickly as the libraries for other operating systems, although the drivers supplied by hardware manufacturers sometimes lag behind, leading to a temporary inability to use new hardware-accelerated features that might be available through extensions.

The core implementation of OpenGL® for Ubuntu® is known specifically as the Mesa® library. Most users who are only using OpenGL® as an end user to run applications developed elsewhere do not usually need to know anything more than what type of graphics card is installed in the computer and what version of OpenGL® is currently installed, in case an update is needed. Through Ubuntu®, most aspects of installing and using OpenGL® as an end user are handled invisibly.

Ad

Alternately, the process of establishing an OpenGL® for Ubuntu® development environment for writing programs that use the library can be a far more complex procedure. In general, the core Mesa® library is required, as are additional utility libraries that are used to support some specific features, such as the OpenGL® utility toolkit (GLUT). The development versions of the libraries are different from the end user versions in that they include necessary header files and other programming-language-specific pieces required for successful compilation of an OpenGL® project.

One problem that can be encountered when using OpenGL® for Ubuntu® for application development is the heavy requirements for dependent libraries outside OpenGL®. The names of these necessary libraries are not always clearly known in advance and sometimes are only discovered after an unsuccessful compilation attempt. During the first few test compiles with OpenGL® for Ubuntu®, many of the libraries will have to be acquired through the proper software repositories.

One final complication that can occur with OpenGL® for Ubuntu® is the migration of certain updated libraries and extensions to the specific Ubuntu® platform. Through the built-in software repository applications in Ubuntu®, downloading pre-compiled binaries is very easy. There are times, however, when the binaries are not made available until a later date. This sometimes needs to be circumvented through the use of the primary Debian® repositories.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}