Modifications to plib.
  • C++ 96.4%
  • C 2.6%
  • Perl 0.4%
  • Makefile 0.4%
Find a file
NexusSfan aeceec00d2
All checks were successful
plib / Build for (push) Successful in 9m5s
plib / Build for --enable-nogl (push) Successful in 29m4s
Define GL_NEAREST and GL_LINEAR_MIPMAP_LINEAR
2026-02-21 11:53:29 -08:00
.forgejo/workflows Try to build 2026-02-21 09:53:06 -08:00
demos demos/build_all_demos: add autogen.sh calls - e-mail from Melchior Franz Wed 1/21/2009 11:51 AM 2009-01-21 18:06:10 +00:00
doc updates to puAux library in accordance with an email from Melchior Franz to PLIB-devel on Wed 1/28/2009 1:22 PM with explanation in a later email the smae day: 2009-01-29 16:53:09 +00:00
examples Updating the examples\src\pui\Makefile.am file in accordance with e-mail from Melchior Franz dated Thu 1/29/2009 4:36 PM 2009-01-30 18:08:16 +00:00
src Define GL_NEAREST and GL_LINEAR_MIPMAP_LINEAR 2026-02-21 11:53:29 -08:00
tools More verbose pbuffer generation 2006-04-13 16:18:36 +00:00
AUTHORS Tidied up some readme's and such ready for release. 2002-09-02 05:40:51 +00:00
autogen.sh Fix autogen 2026-02-21 09:47:40 -08:00
ChangeLog corrected changelog 2006-10-29 10:52:47 +00:00
configure.in Fix FNT building 2026-02-21 10:32:26 -08:00
COPYING Amended license conditions to permit use in Console games and 2000-09-06 01:20:26 +00:00
INSTALL Adding MSVC compilation notes. 2002-09-01 09:37:36 +00:00
KNOWN_BUGS Changed version number. 2006-11-08 11:30:59 +00:00
Makefile.am Added some files to the examples distro. 2004-03-20 17:57:36 +00:00
NEWS Updating the MSVC project file to remove files that supported deprecated widgets; also removed "puFilePicker" support since it was deprecated even longer ago 2006-10-16 16:37:44 +00:00
NOTICE Amended license conditions to permit use in Console games and 2000-09-06 01:20:26 +00:00
plib.dsp Removing "Source Code Control" flag. 2004-03-25 18:29:03 +00:00
plib.dsw Updated DSP files (courtesy of Frederic Bouvier) 2004-03-24 10:52:35 +00:00
README Cleaned up some ancient junk in the README files. Updated docs ready for 2004-04-09 02:09:38 +00:00
README.GLUT Cleaned up some ancient junk in the README files. Updated docs ready for 2004-04-09 02:09:38 +00:00
README.JOYSTICKS.FREEBSD BSD patches from Bert Driehuis 2003-11-11 22:54:48 +00:00
README.mac Yipee! PLIB 1.2.0! 2000-06-30 03:26:47 +00:00
README.win32 cleaned up windows project files 2001-06-30 23:00:09 +00:00
TODO-1.6 Brought the texts a bit more up to date. 2002-09-02 13:56:13 +00:00
TODO-2.0 Brought the texts a bit more up to date. 2002-09-02 13:56:13 +00:00
TODO_AFTER135 Brought the texts a bit more up to date. 2002-09-02 13:56:13 +00:00
transferCvs2WebSite Added a puAux.dsp (although I know it's not right). 2004-03-20 04:22:05 +00:00

Portability Libraries.
======================
             by Steve Baker.

All the documentation and installation instructions
are now online at:

  http://plib.sourceforge.net

They are also downloadable - along with example
programs and demos from the same site.


SUPPORT:

Please don't email me (Steve Baker) directly - I
get *WAY* too much mail as it is!  Instead, please
sign up to the PLIB user's mailing list.  Instructions
can be found here:

  http://plib.sourceforge.net


LICENSING:

These libraries are offered as OpenSource freeware
under the provisions of the GNU Library Public
License (LGPL). Those terms and conditions are
detailed in the file 'LICENSE' in this directory.

I have added a short preamble to LGPL that removes
no rights from ordinary users but offers special
dispensation to allow PLIB to be used under certain
commercial conditions (such as Games Consoles) where
the constraints of LGPL are impossible to meet.

|  As a special exception Steve Baker gives permission to link these 
|  libraries with proprietary software and distribute the resulting 
|  executable without including that proprietary code in any distribution 
|  as the LGPL would normally dictate. 
| 
|  This exception is ONLY granted in the case of an embedded system in 
|  which there is no possibility of an end user re-linking or recompiling 
|  against new versions of this library that may appear in the future.


REQUIREMENTS:

In addition to the libraries that I provide, you
will also need OpenGL (OpenGL 1.1 or later -
Mesa 3.0 or later) and GLUT (The OpenGL utilities
toolkit - version 3.7 or later) and a hardware 3D
graphics accellerator that supports OpenGL.


WHAT DO YOU GET?

The following libraries are provided:

JS  -- A Joystick interface.
PUI -- A simple GUI built on top of OpenGL.
SG  -- Some Standard Geometry functions (vector and
       matrix math, spheres, boxes, frustra, etc)
SL  -- A Games-oriented Sound Library.
FNT -- OpenGL texture-mapped font Library.
PW  -- A minimalist windowing library.
PSL -- A C-like scripting language.
SSG -- A Simple Scene Graph API built on top of OpenGL.
NET -- Some Networking functions for games.
UTIL-- Utilities - things that your OS would normally
       handle - but these functions are portable.

SSGAUX -- Some optional additional high level features for SSG
PUIAUX -- Some optional additional high level features for PUI


DIRECTORY STRUCTURE:

PLIB expects to be installed in one standard place:

  /usr/lib

...with header files at:

  /usr/include/plib


PORTABILITY and DEPENDANCIES:

Although all these libraries are designed to be easily
portable (and more importantly so that programs using
them can be UTTERLY portable), some of them have not
yet been ported to all operating systems.

JS  -- Currently Linux/Windows/BSD only.

UL  -- Should be portable to POSIX-compliant
       OS's ... and Windows.

SG  -- Totally portable, no dependancies.

PUI -- Requires OpenGL also FNT and SG.
       PUI also requires some kind of windowing
       library - which could be PW - or GLUT,
       freeglut, SDL, FLTK - or others.

PSL -- Requires UL.

PW  -- Requires UL.

NET -- Should be portable to POSIX-compliant
       OS's.

FNT and SSG -- Require OpenGL, SG and UL.

SSGAUX -- Requires SSG - and hence OpenGL, SG and UL.
PUIAUX -- Requires PUI - and hence FNT and SG.

SL  -- This has now been ported onto:

         Linux
         FreeBSD
         OpenBSD
         M$ Windows (NT,95,98 - so far)
         MacOS
         SGI IRIX
         Sun Solaris
         Any operating system that supports OSS (The
              Open Sound System).

       NOTE: SL has a subsidiary library 'SM' that
       can be used to control the audio mixer - but
       that is not portable beyond Linux.  You might
       get it to work under OSS-based sound systems
       too. Don't use SM if you want to write portable
       code.

       No other requirements.


AUX LIBRARIES AND TOOLS:

The 'tools' directory contains a number of useful tools
and utility programs that are either built using PLIB or
which are specifically useful when writing PLIB programs.


COMPILING/LINKING WITH PLIB

In your source code, add any combination of:

     #include <plib/ul.h>
     #include <plib/js.h>
     #include <plib/sg.h>
     #include <plib/fnt.h>
     #include <plib/pu.h>
     #include <plib/ssg.h>
     #include <plib/pw.h>
     #include <plib/puAux.h>
     #include <plib/psl.h>
     #include <plib/sl.h>
     #include <plib/net.h>
     #include <plib/ssgAux.h>

Add any of these to your link line:

  -lplibjs -lplibssgaux -lplibssg -lplibsl -lplibpu 
  -lplibpuaux -lplibpw -lplibpsl -lplibfnt -lplibnet
  -lplibsg -lplibul

Under UNIX/Linux, you'll also need:

  -lGLU -lGL -L/usr/X11/lib -lX11 -lXext -lXmu -lm
 
...and perhaps a -l for whatever windowing library
you're using - unless it's the built-in PW library.

             Steve Baker.
             <sjbaker1@airmail.net>
             http://www.sjbaker.org