An Open Graphics Library® (OpenGL®) plugin is a piece of software designed to add some OpenGL®-based functionality to a central, separate application. For graphics applications, an OpenGL® plugin can add new rendering functions that are processed through the OpenGL® libraries. In a development application, an OpenGL® plugin can add the library headers or other features that allows a programmer to easily incorporate OpenGL® functions into software. Entertainment applications such as games can use OpenGL® plugins to help accelerate graphics, use alternate implementations of OpenGL® drivers, or even add support for special graphics hardware. An OpenGL® plugin also can be software that uses OpenGL® to create graphics that can be incorporated into larger media files, such as special effects for streaming video.
A plugin is a piece of software written to operate within the framework of an existing program. The main application for which a plugin is written must make special allowances for plugins to be used. Not all applications can accept an OpenGL® plugin, because it involves allowing a third-party developer to have access to the basic rendering and display output areas of a program, although certain games and graphics applications do allow this. Some programs that can use OpenGL® plugins accept only the output, so the plugin uses OpenGL® solely for its own rendering.
One common type of OpenGL® plugin is used with integrated development environments (IDEs) for programming. These plugins can make the process of incorporating OpenGL® libraries into a program easier, as well as making it simpler to distribute programs in some languages in which the exact library structures are very complex. They also can provide some visual editing tools so certain OpenGL® functions can be constructed visually and tested in real time.
Graphical image editors are usually very flexible with what can be done in a program with plugins. As the OpenGL® standard advances and new hardware is created, plugins that directly access OpenGL® can help to keep a program up to date without forcing users to purchase a completely new version. Alternately, some filters and other effects can be generated inside a plugin using OpenGL®, even though the main application might be using another rendering library.
Video games can use an OpenGL® plugin so games are able to run at top speeds on any type of graphics hardware. These plugins can be written by the manufacturers of high-end graphics cards or developed by user communities. Some OpenGL® plugins for video games also are used to solve specific graphical issues within a game or can be used to help direct rendering toward custom, optimized libraries that give better performance than others.