PLIB (open source)
Posted: Thu Nov 01, 2007 6:06 pm
[url=\"http://plib.sourceforge.net/\"]PLIB: A Suite of Portable Game Libraries[/url] - a set of OpenSource (LGPL) libraries that will permit programmers to write games and other realtime interactive applications that are 100% portable across a wide range of hardware and operating systems.
PLIB includes sound effects, music, a complete 3D engine, font rendering, a simple Windowing library, a game scripting language, a GUI, networking, 3D math library and a collection of handy utility functions. All are 100% portable across nearly all modern computing platforms. What's more, it's all available on line - and completely free. Each library component is fairly independent of the others - so if you want to use SDL, GTK, GLUT, or FLTK instead of PLIB's 'PW' windowing library, you can.
The latest stable version of PLIB is 1.8.4
If you are looking at other games libraries (and there are a LOT to choose from) - ask yourself how many games have been written for that library by people outside the group that wrote it. That is the acid test of usability and PLIB passes with flying colours.
PLIB is used by many projects (not all games - and not all OpenSourced). Unlike the many similar libraries, PLIB is easy to learn and use - and has an object-oriented C++ interface. It's built as a set of component libraries that you can pick and choose between if (for example) you don't want to use PLIB's GUI but you do want to use it's scene graph API.
[b]What's Inside PLIB?[/b]
PLIB is comprised of a number of semi-autonomous libraries that you can pretty much mix and match - using as much or as little PLIB as you need. The components libraries are:
Picoscopic User Interface Library (PUI) A fully portable set of GUI widgets that need OpenGL and C++ to operate. Useful for games because rendering these widgets is performed very quickly by your 3D hardware.
Sound Library (SL) A fully portable Audio driver suited to C++, GLUT and realtime applications that need low latency. Includes a simple 'MOD' music loader/player.
Standard Geometry Library(SG) A set of matrix and vector math functions that was specifically written to simplify the writing of efficient OpenGL programs. You need to include this code into any SSG applications. Widely used within PLIB itself.
Simple Scene Graph Library (SSG) A scene graph library layered on top of OpenGL. Also contains code to load and save lots of 3D file formats.
PUI Auxiliary Library (PUAUX) Additional functionality layered onto PUI - not every PUI program will need these but they can perhaps save you some effort.
SSG Auxiliary Library (SSGA) Additional functionality layered onto SSG - not every SSG program will need these but they can perhaps save you some effort.
Joystick wrappers (JS) Supports more Joysticks with more axes and buttons than GLUT.
Fonts'n'Text Library (FNT) Supports text output in OpenGL using texture mapped fonts. These are much faster to render than GLUT's fonts.
Utility Library (UL) A simple portability library to hide basic operating system incompatibilities. Widely used within PLIB itself.
Pegasus Network Library (NET) Pegasus is a C++ library for assist you in adding networking to your games.
PLIB Scripting Language (PSL) A very lightweight, stackless C-like scripting language.
PLIB Windowing Library (PW) A lightweight windowing library. This is a very basic library - it only supports a single, double-buffered RGB OpenGL window - with support for keyboard and mouse. Simple though it is, it's usually plenty for OpenGL games and other simple OpenGL applications.
[b]Goodies: Samples and Demos[/b]
There are quite a few example programs that each show off one aspect of PLIB's use. We also distribute a set of demonstration programs. These tend to be more complete and usable applications - some games, some tools. These also show off PLIB's features - but in a more holistic way than the example programs.
[b]Documentation.[/b]
All documentation is available online (click on the package name in the section above) and distributed with PLIB in HTML.
There are some interdependencies between the PLIB components - all need the common utility library - many need the standard geometry library for matix operations:
* PW is independent
* UL is independent
* JS depends only on UL
* SL depends only on UL
* SG depends only on UL
* NET depends only on UL
* FNT depends on UL and SG
* SSG depends on UL and SG
* SSGAUX depends on UL, SG and SSG
* PUI depends on UL, SG and FNT
* PUAUX depends on UL, SG, FNT and PUI
* PSL depends on UL, SG and SSG
[b]PLIB Licensing.[/b]
PLIB is licensed under the Library GNU Public License (LGPL).
Whilst this permits closed-source applications to use PLIB, you are bound by certain restrictions under LGPL. Please be sure to read and understant the 'LICENSE' file in the PLIB distribution directory before you distribute any work based around or upon PLIB.
The PLIB example programs (being complete programs) are licensed under the GNU General Public License (GPL).
Each of the demonstration programs has it's own license - but they are all 'OpenSource' of one kind or another (as defined by the SourceForge rules for OpenSourced software. Check the distribution directory for each one for a LICENSE file describing how it's licensed.
Polite Request to Distributors.
If you are a Linux or other OpenSource software distributor, please do us the courtesy of only releasing stable versions of PLIB and NOT versions labelled 'unstable' - or (especially) any snapshot you may take from CVS. We are aware that legally, you are entitled to do either of these things - but we ask that you do not because it makes supporting PLIB that much more difficult.
We would also appreciate being notified of which versions you plan to ship - and approximately when so that we may coordinate with you as to the best version to take.
PLIB includes sound effects, music, a complete 3D engine, font rendering, a simple Windowing library, a game scripting language, a GUI, networking, 3D math library and a collection of handy utility functions. All are 100% portable across nearly all modern computing platforms. What's more, it's all available on line - and completely free. Each library component is fairly independent of the others - so if you want to use SDL, GTK, GLUT, or FLTK instead of PLIB's 'PW' windowing library, you can.
The latest stable version of PLIB is 1.8.4
If you are looking at other games libraries (and there are a LOT to choose from) - ask yourself how many games have been written for that library by people outside the group that wrote it. That is the acid test of usability and PLIB passes with flying colours.
PLIB is used by many projects (not all games - and not all OpenSourced). Unlike the many similar libraries, PLIB is easy to learn and use - and has an object-oriented C++ interface. It's built as a set of component libraries that you can pick and choose between if (for example) you don't want to use PLIB's GUI but you do want to use it's scene graph API.
[b]What's Inside PLIB?[/b]
PLIB is comprised of a number of semi-autonomous libraries that you can pretty much mix and match - using as much or as little PLIB as you need. The components libraries are:
Picoscopic User Interface Library (PUI) A fully portable set of GUI widgets that need OpenGL and C++ to operate. Useful for games because rendering these widgets is performed very quickly by your 3D hardware.
Sound Library (SL) A fully portable Audio driver suited to C++, GLUT and realtime applications that need low latency. Includes a simple 'MOD' music loader/player.
Standard Geometry Library(SG) A set of matrix and vector math functions that was specifically written to simplify the writing of efficient OpenGL programs. You need to include this code into any SSG applications. Widely used within PLIB itself.
Simple Scene Graph Library (SSG) A scene graph library layered on top of OpenGL. Also contains code to load and save lots of 3D file formats.
PUI Auxiliary Library (PUAUX) Additional functionality layered onto PUI - not every PUI program will need these but they can perhaps save you some effort.
SSG Auxiliary Library (SSGA) Additional functionality layered onto SSG - not every SSG program will need these but they can perhaps save you some effort.
Joystick wrappers (JS) Supports more Joysticks with more axes and buttons than GLUT.
Fonts'n'Text Library (FNT) Supports text output in OpenGL using texture mapped fonts. These are much faster to render than GLUT's fonts.
Utility Library (UL) A simple portability library to hide basic operating system incompatibilities. Widely used within PLIB itself.
Pegasus Network Library (NET) Pegasus is a C++ library for assist you in adding networking to your games.
PLIB Scripting Language (PSL) A very lightweight, stackless C-like scripting language.
PLIB Windowing Library (PW) A lightweight windowing library. This is a very basic library - it only supports a single, double-buffered RGB OpenGL window - with support for keyboard and mouse. Simple though it is, it's usually plenty for OpenGL games and other simple OpenGL applications.
[b]Goodies: Samples and Demos[/b]
There are quite a few example programs that each show off one aspect of PLIB's use. We also distribute a set of demonstration programs. These tend to be more complete and usable applications - some games, some tools. These also show off PLIB's features - but in a more holistic way than the example programs.
[b]Documentation.[/b]
All documentation is available online (click on the package name in the section above) and distributed with PLIB in HTML.
There are some interdependencies between the PLIB components - all need the common utility library - many need the standard geometry library for matix operations:
* PW is independent
* UL is independent
* JS depends only on UL
* SL depends only on UL
* SG depends only on UL
* NET depends only on UL
* FNT depends on UL and SG
* SSG depends on UL and SG
* SSGAUX depends on UL, SG and SSG
* PUI depends on UL, SG and FNT
* PUAUX depends on UL, SG, FNT and PUI
* PSL depends on UL, SG and SSG
[b]PLIB Licensing.[/b]
PLIB is licensed under the Library GNU Public License (LGPL).
Whilst this permits closed-source applications to use PLIB, you are bound by certain restrictions under LGPL. Please be sure to read and understant the 'LICENSE' file in the PLIB distribution directory before you distribute any work based around or upon PLIB.
The PLIB example programs (being complete programs) are licensed under the GNU General Public License (GPL).
Each of the demonstration programs has it's own license - but they are all 'OpenSource' of one kind or another (as defined by the SourceForge rules for OpenSourced software. Check the distribution directory for each one for a LICENSE file describing how it's licensed.
Polite Request to Distributors.
If you are a Linux or other OpenSource software distributor, please do us the courtesy of only releasing stable versions of PLIB and NOT versions labelled 'unstable' - or (especially) any snapshot you may take from CVS. We are aware that legally, you are entitled to do either of these things - but we ask that you do not because it makes supporting PLIB that much more difficult.
We would also appreciate being notified of which versions you plan to ship - and approximately when so that we may coordinate with you as to the best version to take.