Commit 75ac7143 authored by zmoelnig's avatar zmoelnig
Browse files

This commit was generated by cvs2svn to compensate for changes in r4,

which included commits to RCS files with non-trunk default branches.


git-svn-id: https://pd-gem.svn.sourceforge.net/svnroot/pd-gem/trunk/Gem@5 49b2a0ca-c541-4d49-a7ef-d785e4371512
parents
GEM - Graphics Environment for Multimedia
Copyright (C) 1997-2000 Mark Danks
Copyright (C) Günter Geiger
Copyright (C) 2001-2002 IOhannes m zmölnig
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
In the official GEM distribution, the GNU General Public License is
in the file GnuGPL.LICENSE
---------------------------------------------------------
ACKNOWLEDGMENTS
---------------------------------------------------------
Not all of the source code provided here has entirely been written by me.
I would like to point at the great openGL-tutorials at http://nehe.gamedev.net
Since these are tutorials, there is no copyright notice here.
Some of the pix_fx code is borrowed from effecTV by Kentarou Fukuchi et al.
at http://effectv.sourceforge.net released under the Gnu GPL.
Future releases might also incorporate the FreeJ-tool by Jaromil
at http://freej.dyne.org/ released under the Gnu GPL.
---------------------------------------------------------
OTHER COPYRIGHT NOTICES
---------------------------------------------------------
This file contains all of the licenses from the various libraries which
are included in GEM. If there is no license associated with a
library, then the author has not included one or not required that the
full license be included.
All of the files and documentation for the various libraries in the
"Gemlibs" portion of GEM are copyrighted by their respective authors
and not by Mark Danks/Guenter Geiger/IOhannes m zmoelnig. All copyright notices are included in the
respective library directories, GemLibs/*, and this file.
The "GemLibs" portion of GEM consists of
libTiff:
Author: Sam Leffner
sam@engr.sgi.com
ftp://ftp.sgi.com/graphics/tiff/
Copyright (c) 1988-1996 Sam Leffler
Copyright (c) 1991-1996 Silicon Graphics, Inc.
see license below
fstimage:
Masayuki Matsumoto
sgi image loader.
matumot@dst.nk-exa.co.jp
Copyright (C) 1995 Masayuki Mastumoto
Modified so that it doesn't exit on error.
Added support for reading grayscale, rgb, and rgba images
Mark Danks - 1998
libjpeg:
Author: Independent JPEG Group
jpeg-info@uunet.uu.net
ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/
Copyright (C) 1991-1996, Thomas G. Lane.
Glut:
Author: Mark Kilgard
http://reality.sgi.com/mjk_asd/
Copyright 1996 by Evans & Sutherland Computer Corporation.
GLTT:
Author: Stephane Rehel
rehel@worldnet.fr
http://home.worldnet.fr/~rehel/gltt/gltt.html
Copyright (C) 1991 Stephane Rehel
This is covered under the GNU Library General Public License,
Version 2 or greater.
Freetype:
Authors: David Turner, Robert Wilhelm, and Werner Lemberg
turner@enst.fr
robert@physiol.med.tu-muenchen.de
a7971428@unet.univie.ac.at
http://www.physiol.med.tu-muenchen.de/~robert/freetype.html
Copyright 1996,1997 by David Turner, Robert Wilhelm, and Werner Lemberg
libmpeg:
Authors: MPEG Software Simulation Group
mssg@mpeg.org
http://www.mpeg.org/MSSG/
Copyright (c) 1996 MPEG Software Simulation Group
Wintab:
Author: Rick Poyner, LCS/Telegraphics
wintab@pointing.com
Copyright 1991-1995 by LCS/Telegraphics.
see license below
libOrb:
Author: John Stone
j.stone@acm.org
http://www.umr.edu/~johns/projects/liborb/
Copyright (c) 1997-1998 John E. Stone
see license below
particle:
Author: David McAllister
davemc@cs.unc.edu
http://www.cs.unc.edu/~davemc/Particle/
Copyright (c) 1998 David K. McAllister
----------------------------------------------------------------------------
libTiff:
Author: Sam Leffner
sam@engr.sgi.com
ftp://ftp.sgi.com/graphics/tiff/
Copyright (c) 1988-1996 Sam Leffler
Copyright (c) 1991-1996 Silicon Graphics, Inc.
Copyright (c) 1988-1996 Sam Leffler
Copyright (c) 1991-1996 Silicon Graphics, Inc.
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
publicity relating to the software without the specific, prior written
permission of Sam Leffler and Silicon Graphics.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.
----------------------------------------------------------------------------
Wintab:
Author: Rick Poyner, LCS/Telegraphics
wintab@pointing.com
The Wintab specification is intended to be an open standard. The
Wintab Programmer's Kit is an aid to understanding the Wintab
standard and implementing Wintab-compliant applications. As such,
the text and information contained herein may be freely used, copied,
or distributed without compensation or licensing restrictions.
The Wintab Programmer's Kit is copyright 1991-1995 by
LCS/Telegraphics.
LCS/Telegraphics does not assume any liability for damages resulting
from the use of the information contained herein.
----------------------------------------------------------------------------
libOrb:
/*
* Copyright (c) 1997, 1998 John E. Stone (j.stone@acm.org)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by John E. Stone
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
This is GEM 0.87
===================
You can get the current distribution from:
http://iem.kug.ac.at/GEM
ftp://iem.kug.ac.at/pd/Externals/GEM
assumption:
throughout this document, references of DOS actually means the OS from Redmont (known as Windoze)
=============================================
NEW:::
------
As with GEM-0.87, i have broken the distribution into various packages
Gem-<gemver>.tgz :: quite everything (except binaries and auxiliary libraries)
Gem-doc-<gemver>.tgz :: example-patches, manual, ...
Gem-src-<gemver>.tgz :: the sources (which are identical for DOS and linux)
Gem-bin-<gemver>.zip :: DOS-binary (containing a single file "Gem.dll")
GemLibs-<OS>-<libver>.tgz :: auxiliary libraries (used to be "AuxLibs")
1) the core Gem-packages:
the core Gem-packages all extract into the same directory gem-<gemver>/
there are install-scripts for windoze (and probably IRIX) users like GEM.INSTALL.bat
these will install the documentation...
2) the GemLib-package:
I don't know, whether it has much sense, to break the core Gem-package (doc/src/bin),
but i do know, that the GemLibs should be in a distinct package (just for the sake of downloading)
the GemLibs have their own version numbering, starting with 1.
You can get the newest GemLib from the place mentioned above
DEPENDENCIES:
=============
current version: GEM-0.87
GemLibs >= 1
PD >= 0.34
-------------------------------------
-------------------------------------
To install GEM on DOS:
Prerequisites:
0) as with Gem-0.87 you will need the GLUT-library to run Gem.
get the newest release from http://www.xmission.com/~nate/glut.html or just use the
files provided in gem/src/AuxLibs/glut
follow the install-instructions (the important thing is to put the glut32.dll into your "%windows&\system"-directory)
1) unzip the GEM package so that it is located at pd/gem
2) run GEM_INSTALL.bat
- this will put everything where it should be
3) Read the FAQ for instructions to run Pd and GEM
4) Check the release notes for changes and usage information
5) Use the manual html files to learn how to use GEM
-------------------------------------
To install GEM on linux:
chdir into <Gemdir>/src/Gnu
read the README.build etc...
-------------------------------------
-------------------------------------
zmoelnig@iem.kug.ac.at
@echo off
echo Installing GEM...
mkdir ..\doc\gem\01.basic
mkdir ..\doc\gem\02.advanced
mkdir ..\doc\gem\03.lighting
mkdir ..\doc\gem\04.pix
mkdir ..\doc\gem\04.video
mkdir ..\doc\gem\05.text
mkdir ..\doc\gem\06.particle
mkdir ..\doc\gem\08.io
mkdir ..\doc\gem\99.games
mkdir ..\doc\gem\manual
mkdir ..\doc\5.reference\Gem
echo Copying examples...
copy examples\01.basic\* ..\doc\gem\01.basic > tempInstall.trash
copy examples\02.advanced\* ..\doc\gem\02.advanced > tempInstall.trash
copy examples\03.lighting\* ..\doc\gem\03.lighting > tempInstall.trash
copy examples\04.pix\* ..\doc\gem\04.pix > tempInstall.trash
copy examples\04.video\* ..\doc\gem\04.video > tempInstall.trash
copy examples\05.text\* ..\doc\gem\05.text > tempInstall.trash
copy examples\06.particle\* ..\doc\gem\06.particle > tempInstall.trash
copy examples\07.texture\* ..\doc\gem\07.texture > tempInstall.trash
copy examples\08.io\* ..\doc\gem\08.io > tempInstall.trash
copy examples\99.games\* ..\doc\gem\99.games > tempInstall.trash
echo Copying documentation...
copy doc\gem*.* ..\doc\gem\manual > tempInstall.trash
copy manual\*.html ..\doc\gem\manual > tempInstall.trash
echo Copying reference files...
copy help\* ..\doc\5.reference\Gem > tempInstall.trash
del tempInstall.trash
echo Install finished.
#! /bin/sh
#
# Install GEM
#
# IOhannes m zmoelnig, zmoelnig@iem.kug.ac.at
# IEM, Graz
#
echo Installing GEM...
mkdir ..\doc\gem\01.basic
mkdir ..\doc\gem\02.advanced
mkdir ..\doc\gem\03.lighting
mkdir ..\doc\gem\04.pix
mkdir ..\doc\gem\04.video
mkdir ..\doc\gem\05.text
mkdir ..\doc\gem\06.particle
mkdir ..\doc\gem\08.io
mkdir ..\doc\gem\99.games
mkdir ..\doc\gem\manual
mkdir ..\doc\5.reference\Gem
echo Copying examples...
cp examples/01.basic/* ../doc/gem/01.basic
cp examples/02.advanced/* ../doc/gem/02.advanced
cp examples/03.lighting/* ../doc/gem/03.lighting
cp examples/04.pix/* ../doc/gem/04.pix
cp examples/04.video/* ../doc/gem/04.video
cp examples/05.text/* ../doc/gem/05.text
cp examples/06.particle/* ../doc/gem/06.particle
cp examples/07.texture/* ../doc/gem/07.texture
cp examples/08.io/* ../doc/gem/08.io
cp examples/99.games/* ../doc/gem/99.games
echo Copying documentation...
cp doc/* ../doc/gem/manual
cp manual/*.html ../doc/gem/manual
echo Copying reference files...
cp help/* ../doc/5.reference/Gem
echo done
#! /bin/sh
#
# package GEM up for release
#
# Mark Danks - mark@danks.org
#
case $# in
1) echo Creating GEM release version $1
;;
*) echo Specify a release number
exit 1
;;
esac
# go into the source directory and remake GEM
#########
cd src
make clobber
touch Makefile.depend
make depend
make release
# remove the object files
make clean
# remove windows garbage
rm gem.*
# make the README
cd ..
echo "This is GEM ver$1\nYou can get the current distribution from:\n\n\
ftp://iem.kug.ac.at/Gem\n\n\
To install GEM on SGI:\n\n\
1) untar the GEM package so that it is located at pd/gem\n\n\
2) run GEM_INSTALL.sh\n - this will put everything where it should be\n\n\n\
3) Read the FAQ for instructions to run Pd and GEM\n\n\
4) Check the release notes for changes and usage information\n\n\
5) Read the manual html files to learn how to use GEM\n\n\
zmoelnig@iem.kuga.c.at" > GEM.README
# set the permissions on the install file
chmod 777 GEM_INSTALL.sh
# go above the GEM directory and tar it all up
cd ..
# Full version
##############
echo Tarring full version up...
tar cvf gem-$1.tar gem
compress gem-$1.tar
# Binary version
################
echo Tarring binary version up...
tar cvf gem-$1bin.tar gem/Gem.pd_irix5 gem/GEM.LICENSE.TERMS gem/GnuGPL.LICENSE gem/GEM.README gem/GEM_INSTALL.sh gem/doc/* gem/help/* gem/examples/* gem/manual/*
compress gem-$1bin.tar
# DSO version
#############
echo Tarring DSO version up...
tar cvf gem-$1dso.tar gem/Gem.pd_irix5 gem/GEM.LICENSE.TERMS gem/GnuGPL.LICENSE gem/GEM.README gem/GEM_INSTALL.sh gem/doc/* gem/manual/*
compress gem-$1dso.tar
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This General
Public License applies to most of the Free Software Foundation's
software and to any other program whose authors commit to using it.
(Some other Free Software Foundation software is covered by the
GNU Library General Public License instead.) You can apply it to your
programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone
to deny you these rights or to ask you to surrender the rights. These
restrictions translate to certain responsibilities for you if you distribute
copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must give the recipients all the rights that you have. You
must make sure that they, too, receive or can get the source code. And
you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on,
we want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent must
be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS FOR
COPYING, DISTRIBUTION AND
MODIFICATION
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed under
the terms of this General Public License. The "Program", below, refers
to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it, either
verbatim or with modifications and/or translated into another language.
(Hereinafter, translation is included without limitation in the term
"modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is
covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program). Whether
that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the notices
that refer to this License and to the absence of any warranty; and give
any other recipients of the Program a copy of this License along with the
Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, and
can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based on
the Program, the distribution of the whole must be on the terms of this
License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based
on the Program.
In addition, mere aggregation of another work not based on the
Program with the Program (or with a work based on the Program) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding
machine-readable source code, which must be distributed under
the terms of Sections 1 and 2 above on a medium customarily
used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your cost
of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with
such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to control
compilation and installation of the executable. However, as a special
exception, the source code distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies the
executable.
If distribution of executable or object code is made by offering access to
copy from a designated place, then offering equivalent access to copy
the source code from the same place counts as distribution of the source
code, even though third parties are not compelled to copy the source
along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full
compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and all
its terms and conditions for copying, distributing or modifying the
Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these terms
and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein. You are not responsible
for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),