EMBOSS graphics library considerations

Graphics libraries are available in the public domain. They tend to follow some graphics standard, though there is a wide choice.

The old ANSI/ISO standard was "GKS", which may be what GCG based their library on. The new ANSI/ISO standard is "PHIGS", which extends well beyond the needs of AJAX and EMBOSS at present. Other standards include OPENGL.

Current favourite would apear to be vogle - principally because it is explicitly public domain with source redistribution, and suits the EMBOSS/AJAX licensing plans.

The alternative would be Mesa (OpenGL under LGPL license)

The libraries located so far are:

gnuplot
GnuPlot is a command driven interactive function plotting program. Permission to use, copy and distribute software and documentation for any purpose with or without fee. Modifications are to be distributed only as patches to the released version.

newsgroup: comp.graphics.gnuplot

pgplot
Subroutine descriptions (Appendix A of the manual) are in: http://www.astro.caltech.edu/~tjp/pgplot/

The copyright notice allows academic sites to use the library and to distribute binary code using it:


 The PGPLOT library, both binary and source, and the PGPLOT manual
 `PGPLOT Graphics Subroutine Library' are copyrighted, but available
 without fee for education, academic research and non-commercial
 purposes. Ownership of the software remains with the California
 Institute of Technology.  Users may distribute the binary and source
 code to third parties provided that the copyright notice and this
 statement appears on all copies and that no charge is made for such
 copies.  Any entity wishing to integrate all or part of the source
 code into a product for commercial use or resale should contact the
 author at the above address.

vogle
VOGLE - A very ordinary graphics learning environment.

VOGLE is a library of C routines for doing line drawings and polygon fills in 2 and 3 Dimensions. It handles circles, curves, arcs, patches, polygons, and software text in a device independent fashion. Simple hidden line removal is also available via polygon backfacing. Access to hardware text and double buffering of drawings depends on the driver. There is also a FORTRAN interface but as it goes through the C routines FORTRAN users are warned that arrays are in rowcolumn order in C. A SUN Pascal interface has also been provided. The following is a brief summary of the VOGLE subroutines.

VOGLE is a device portable graphics library that is loosely based on the Silicon Graphics Iris GL. It was also inspired partly by the DIGS library developed at the U.S. Naval Academy under the guidance of Prof David Rogers.

This software is public domain and may be used for any purpose commercial or otherwise. It is offered without any guarantee as to its suitability for any purpose or as to the sanity of its writers. We do ask that the source is passed on to anyone that requests a copy, and that people who get copies don't go round claiming they wrote it.

Although VOGLE is public domain we will drink any quantity of Beer you send to us.

Mailing list: vogle@ecr.mu.oz.au (vogle-request@ecr.mu.oz.au to get placed on the list).

See ~pmr/emboss/graphics/vogle/docs/vogle.ps

pdore
A three-dimensional computer graphics subroutine library.

Copyright (C) 1988, 1989, 1990, 1991 by Kubota Pacific Computer Inc.
        All Rights Reserved

This program is a trade secret of Kubota Pacific Computer Inc. and it is not to be reproduced, published, disclosed to others, copied, adapted, distributed, or displayed without the prior authorization of Kubota Pacific Computer Inc. Licensee agrees to attach or embed this Notice on all copies of the program, including partial copies or modified versions thereof.

Release 5.0 is in ~/emboss/graphics/pdore

Manuals are currently in troff format and use the dpx utility so that they have not yet been printed out.

mesa
Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL*. To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc. However, the author makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with Silicon Graphics, Inc. Those who want a licensed implementation of OpenGL should contact a licensed vendor. This software is distributed under the terms of the GNU Library General Public License, see the LICENSE file for details.

* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.

so, maybe OpenGL is a good approach? There are now books on it. and the GNU LGPL is OK as a licence.

There is a Mesa WWW page: http://www.mesa3d.org and a useful guide at http://www.videogamedesignschools.org/resources/using-mesa-3d/

There is a contrib/ subdirectory on the Mesa ftp site which contains contributions from Mesa users. See the README file in that directory for more information.

Anyone is welcome to contribute code to the Mesa project, provided you agree to the GNU license.