1075 lines
49 KiB
HTML
1075 lines
49 KiB
HTML
<!--startcut ==========================================================-->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.06 [en] (X11; I; Linux 2.0.30 i486) [Netscape]">
|
|
<META NAME="Author" CONTENT="Michael J. Hammel">
|
|
<META NAME="Description" CONTENT="The Monthly Column of Computer Graphics for Linux Systems.">
|
|
<TITLE>Graphics Muse</TITLE>
|
|
</HEAD>
|
|
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#CC0000" ALINK="#FF6600">
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4>
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!-- =============================================================
|
|
These pages are designed by Michael J. Hammel. Permission to
|
|
use all graphics and other content is granted provided you give
|
|
me (or the original authors/artists) credit for the work and this
|
|
copyright notice is not removed.
|
|
|
|
(c)1997, 1998 Michael J. Hammel (mjhammel@graphics-muse.org)
|
|
============================================================= !--><!-- The Button box as a client side imagemap --><MAP NAME="nav-main"><AREA SHAPE="rect" HREF="#mews" coords="20,18 185,40"><AREA SHAPE="rect" HREF="#webwonderings" coords="10,60 185,83"><AREA SHAPE="rect" HREF="#musings" coords="90,102 185,130"><AREA SHAPE="rect" HREF="#resources" coords="70,152 185,180"></MAP>
|
|
<!-- The Button box as a client side imagemap --><MAP NAME="nav-main"><AREA SHAPE="rect" HREF="#mews" coords="20,18 185,40"><AREA SHAPE="rect" HREF="#webwonderings" coords="10,60 185,83"><AREA SHAPE="rect" HREF="#musings" coords="90,102 185,130"><AREA SHAPE="rect" HREF="#resources" coords="70,152 185,180"></MAP>
|
|
<TABLE BORDER=0 COLS=2 WIDTH="100%" >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/gm3.gif" ALT="Welcome to the Graphics Muse" NOSAVE HEIGHT=216 WIDTH=441 ALIGN=LEFT></TD>
|
|
|
|
<TD VALIGN=BOTTOM>
|
|
<CENTER><FONT SIZE=-1>Set your browser as wide as you'd like now.
|
|
I've fixed the Muse to expand to fill the aviailable space!</FONT>
|
|
<BR><FONT SIZE=-2>© 1998 by <A HREF="mailto:mjhammel@graphics-muse.org">mjh</A></FONT></CENTER>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<HR WIDTH="100%">
|
|
<TABLE BORDER=0 COLS=2 WIDTH="100%" >
|
|
<TR>
|
|
<TD WIDTH="185"><IMG SRC="../gx/hammel/muse-image-map.gif" ALT="Button Bar"
|
|
BORDER=0 USEMAP="#nav-main" HEIGHT=200 WIDTH=185 ALIGN=LEFT></TD>
|
|
|
|
<TD VALIGN=TOP><B><FONT SIZE=+1>muse:</FONT></B>
|
|
<OL>
|
|
<LI>
|
|
<I>v;</I> to become absorbed in thought </LI>
|
|
|
|
<LI>
|
|
<I>n;</I> [ fr. Any of the nine sister goddesses of learning and the arts
|
|
in Greek Mythology ]: a source of inspiration </LI>
|
|
</OL>
|
|
<IMG SRC="../gx/hammel/w.gif" ALT="W" HEIGHT=28 WIDTH=36 ALIGN=BOTTOM>elcome
|
|
to the Graphics Muse! Why a "muse"? Well, except for the sisters aspect,
|
|
the above definitions are pretty much the way I'd describe my own interest
|
|
in computer graphics: it keeps me deep in thought and it is a daily source
|
|
of inspiration.
|
|
<CENTER><FONT SIZE=-1>[<A HREF="#mews">Graphics Mews</A>][<A HREF="#webwonderings">WebWonderings</A>][<A HREF="#musings">Musings</A>]
|
|
[<A HREF="#resources">Resources</A>]</FONT></CENTER>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<IMG SRC="../gx/hammel/t.gif" ALT="T" HEIGHT=28 WIDTH=26 ALIGN=LEFT>his column
|
|
is dedicated to the use, creation, distribution, and discussion of computer
|
|
graphics tools for Linux systems. Well, there were quite a
|
|
few announcements in the past month and I'm finding that not all are being
|
|
cross posted to both comp.os.linux.announce and to freshmeat.net.
|
|
It takes a little more diligence on my part to catch all the announcments,
|
|
but since I visit both places fairly often it really isn't that big of
|
|
a problem. On the other hand, is it really necessary to repeat those
|
|
announcements here? I thought about this for a while, and finally
|
|
decided it is worth the effort since both c.o.l.a and freshmeat are sites
|
|
for general announcements and the graphics-specific items can easily be
|
|
overlooked. By gathering them up and reprinting them here, I can let
|
|
my readers worry less about missing the important stuff through the sea
|
|
of other announcements at other sites.
|
|
<P>I've finally started to catch up on my Musings, too. This month's
|
|
issue includes discussions on:
|
|
<UL>
|
|
<LI>
|
|
Managing your CGI Perl scripts using "require" in <I>Web Wonderings</I></LI>
|
|
|
|
<LI>
|
|
A closer look at the libgr package of image file format libraries</LI>
|
|
|
|
<LI>
|
|
A little fun with the Gimp plugin "QBist"</LI>
|
|
</UL>
|
|
I also considered taking a look at Blender, but I'm not certain my system
|
|
is stable enough for that right now. It's been acting a little strange
|
|
of late - I'm beginning to think some recent power outages may have corrupted
|
|
some libraries. I have plans to upgrade to Red Hat 5.2 whenever it
|
|
comes out (I expect the difficulties with dealing with libc/glibc will
|
|
all be worked out, much like the 4.2 release had worked out most of the
|
|
a.out vs. ELF issues), plus take a look at Xi Graphics Maximum CDE at some
|
|
point too. But I hadn't planned on doing either until the October
|
|
time frame. I may have to change my plans.
|
|
<P>Anyway, a review of Blender is a definite future Musing. The last
|
|
time I tried it, the program seemed to be stable, but the interface is rather
|
|
complex. A general examination showed that this modeller is quite
|
|
feature-rich. It's just that the interface is not intuitive to a 3D
|
|
newbie, perhaps not even to an experienced 3D graphic artist. A better
|
|
set of documentation is reported to be on the way, due out some time in
|
|
September. I'll wait and see what this might offer before stepping
|
|
up for a review of Blender.
|
|
<P><IMG SRC="./gx/hammel/gm-new.jpg" HSPACE=10 VSPACE=10 HEIGHT=216 WIDTH=225 ALIGN=RIGHT>You
|
|
can also keep an eye out for a new and improved Graphics Muse Web site
|
|
coming soon. I expect to be able to launch the new site sometime
|
|
in the middle to end of September. It will combine the Linux Graphics
|
|
mini-Howto with the Unix Graphics Utilities into a single searchable database,
|
|
provide recommended reading material and allow you to post reviews of software,
|
|
hardware and texts, plus it will provide more timely news related to computer
|
|
graphics for Linux systems. And, of course, all the back issues of
|
|
the Graphics Muse column from the Linux Gazette will be there too, in a
|
|
semi-searchable format with topics for each month provided next to the
|
|
links to each month's issue. I'll probably post an announcement about
|
|
it to c.o.l.a when it's ready.
|
|
<P><A NAME="mews"></A>
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/mews.gif" ALT="Graphics Mews" HEIGHT=53 WIDTH=242 ALIGN=LEFT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
Disclaimer: Before I get too far into this
|
|
I should note that any of the news items I post in this section are just
|
|
that - news. Either I happened to run across them via some mailing list
|
|
I was on, via some Usenet newsgroup, or via email from someone. I'm not
|
|
necessarily endorsing these products (some of which may be commercial),
|
|
I'm just letting you know I'd heard about them in the past month.
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=3 WIDTH="100%" NOSAVE >
|
|
<TR>
|
|
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=30 VSPACE=2 HEIGHT=1 WIDTH=1 ALIGN=LEFT></TD>
|
|
|
|
<TD></TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD VALIGN=TOP WIDTH="50%" NOSAVE>
|
|
<H2>
|
|
The ParPov and Pov2Rib Homepage</H2>
|
|
<B><I><FONT COLOR="#CC6600">ParPov</FONT></I></B> is a free (GNU), object-oriented
|
|
library written in C++ for parsing Scene Files from the Persistence of
|
|
Vision (POV-Ray) Ray-Tracer. It will read a scene written using version
|
|
1-3 syntax and creates a structure of C++-Objects, representing all details
|
|
of the original description. You can query those objects and use the information
|
|
to convert the scene to other formats or many other uses. <B><I><FONT COLOR="#CC6600">Pov2Rib</FONT></I></B>
|
|
is also a freely available progam, which allows you to convert scene files
|
|
from POV-Ray to a RenderMan Interface Bytestream (RIB). The tool is the
|
|
first application of libParPov.
|
|
<P><A HREF="http://www9.informatik.uni-erlangen.de/~cnvogelg/pov2rib/index.html">http://www9.informatik.
|
|
uni-erlangen.de/ ~cnvogelg/pov2rib/index.html</A>
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
GQview 0.4.0</H2>
|
|
<B><I><FONT COLOR="#CC6600">GQview</FONT></I></B> is an X11 image viewer
|
|
for the Linux operating system. Its key features include single click file
|
|
viewing, external editor support, thumbnail preview, thumbnail caching
|
|
and adjustable zoom. GQview is currently available in source, binary, and
|
|
rpm versions and requires the latest GTK and Imlib libraries.
|
|
<P><A HREF="http://www.geocities.com/SiliconValley/Haven/5235/">http://www.geocities.com/
|
|
SiliconValley/Haven/5235/</A>
|
|
<BR> </TD>
|
|
|
|
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
|
|
|
|
<TD WIDTH="49%">
|
|
<H2>
|
|
TKMatman</H2>
|
|
<B><I><FONT COLOR="#CC6600">TKMatman</FONT></I></B> is a tool that lets
|
|
you interactively set and adjust parameters to RenderMan shaders and preview
|
|
images with the given parameters. It can handle surface, displacement,
|
|
interior, exterior, atmosphere, light and imager shaders and their combinations.
|
|
The idea for the program comes from Sam Samai, who wrote the very useful
|
|
IRIX version. With the availability of the Blue Moon Rendering Tools for
|
|
different platforms the author of TkMatman thought that a lot more people
|
|
will use the RenderMan interface and need ways to select their shaders.
|
|
That's why he published his private LINUX version of MatMan. The program
|
|
was initially only meant for his own use, but it is in a pretty stable
|
|
state now. All feedback is appreciated and new versions will be made
|
|
available at the following site:
|
|
<P><A HREF="http://www.dfki.uni-sb.de/~butz/tkmatman/">http://www.dfki.uni-sb.de/
|
|
~butz/tkmatman/</A>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
ImPress</H2>
|
|
<B><I><FONT COLOR="#CC6600">ImPress</FONT></I></B> allows you to create
|
|
good quality documents using vector graphics. You can use ImPress within
|
|
a web browser with the Tcl/Tk plugin. It's a reasonable desktop publishing
|
|
and presentation tool in a small package designed for Linux and for integration
|
|
with Ghostscript.
|
|
<P>The GPL'd .03alpha release fixes many bugs and adds better web and presentation
|
|
functionality.
|
|
<P><A HREF="http://www.tcltk.com/tclets/impress/index.html">http://www.tcltk.com/tclets/impress/index.html</A>
|
|
<BR> </TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
|
|
|
|
<TD BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD>
|
|
<H2>
|
|
LibVRML97/Lookat 0.7</H2>
|
|
<B><I><FONT COLOR="#CC6600">LibVRML97</FONT></I></B> is a toolkit for incorporating
|
|
VRML into applications, and <B><I><FONT COLOR="#CC6600">Lookat</FONT></I></B>
|
|
is a simple VRML browser based on that library. This code is currently
|
|
being developed and is one of the more complete open source VRML browsers
|
|
available. All VRML97 nodes except Text/FontStyle and the drag sensors
|
|
(CylinderSensor, Plane, Sphere) are supported. The Script node supports
|
|
much of the Javascript API with more on the way.
|
|
<P>Version 0.7 adds Javascript scripting, MovieTextures, TouchSensors,
|
|
Anchors, Inlines, and command line arguments -url and -geometry for running
|
|
under XSwallow as a Netscape plugin.
|
|
<P><A HREF="http://www.vermontel.net/~cmorley/vrml.html">http://www.vermontel.net/
|
|
~cmorley/vrml.html</A></TD>
|
|
|
|
<TD>
|
|
<H2>
|
|
Slidedraw</H2>
|
|
<B><I><FONT COLOR="#CC6600">Slidedraw</FONT></I></B> is a drawing program
|
|
in Tcl/tk for presentation slides with postscript output and full-featured.
|
|
You can see snapshots, get slide collections or the very latest package
|
|
available from it's new web page.
|
|
<P>URL: <A HREF="http://web.usc.es/~phdavidl/slidedraw/">http://web.usc.es/~phdavidl/slidedraw/</A>
|
|
<P>Beta testers are welcome. Contributors for slide collections and
|
|
documentations are also invited.
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
MindsEye 0.5.27</H2>
|
|
<B><I><FONT COLOR="#CC6600">MindsEye</FONT></I></B> is a project to develop
|
|
a free (in terms of the GPL) available 3D modelling program for Linux.
|
|
It features modular design, Multi-scene/user concept, Kernel-system view
|
|
instead of Modeler-system view, Object oriented modelling design and network
|
|
support in a MindsEye-kernel way.
|
|
<P><A HREF="http://mindseye.luna.net/">http://mindseye.luna.net/</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<H2>
|
|
Visual DHTML</H2>
|
|
<B><I><FONT COLOR="#CC6600">Visual DHTML</FONT></I></B> is a free Web-based
|
|
authoring tool that lets you create interactive web content using various
|
|
DHTML technologies. Visual DHTML brings JavaScript1.2 and DHTML towards
|
|
its full and future potential at the application level by bringing more
|
|
traditionally low-level programming techniques and features to Web-based
|
|
scripting languages. Features include such things as an object oriented,
|
|
component-based ("Bean" style) architecture with "Drag and Drop" functionality.
|
|
Also included are several pre-built DHTML widgets, such as the dynamic
|
|
Drawer and Ticker that you can customize along with component properties
|
|
that you can modify. Also, if you like the functionality of this tool,
|
|
you can copy and paste the source code by viewing the Page Source from
|
|
within Navigator.
|
|
<P><A HREF="http://developer.netscape.com/docs/examples/dynhtml/visual/index.html">http://developer.netscape.com/docs/examples/dynhtml/visual/index.html</A>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
Javascript Debugger 1.1</H2>
|
|
Netscape <B><I><FONT COLOR="#CC6600">JavaScript Debugger</FONT></I></B>
|
|
is a powerful tool for debugging JavaScript on multiple platforms. Written
|
|
in Java, the debugger runs in Netscape Communicator. Netscape JavaScript
|
|
Debugger 1.1 supports client-side JavaScript debugging capabilities, including
|
|
such features as a watch mechanism, conditional breakpoints, enhanced error
|
|
reporter, signed script support, and the ability to step through code.
|
|
Using the debugger while developing your JavaScript application, you can
|
|
debug scripts as they run, determine what's going on inside your script
|
|
at any moment, and find problems quickly. A Linux version is not mentioned
|
|
explicitly, but the Unix version works perfectly.
|
|
<P><A HREF="http://developer.netscape.com/software/jsdebug.html">http://developer.netscape.com/software/jsdebug.html</A>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
S.u.S.E. announces XFCom_P9x00 and new version of XFCom_3DLabs</H2>
|
|
XFCom_P9x00-1.0
|
|
<P>It took a while, but finally a free server for Weitek P9100 based cards
|
|
is available. XFCom_P9100 is not yet accelerated and has not received as
|
|
much testing as we would have liked it to, but it should work fine on most
|
|
P9100 boards.
|
|
<P>XFCom_3DLabs-4.12
|
|
<P>With this version of XFCom_3DLabs, several problems with earlier versions
|
|
should be solved. New features and fixes include:
|
|
<UL>
|
|
<LI>
|
|
Permedia 2v support</LI>
|
|
|
|
<LI>
|
|
Permedia 2 AGP hangs fixed</LI>
|
|
|
|
<LI>
|
|
24bpp mode improved</LI>
|
|
|
|
<LI>
|
|
many drawing bugs removed</LI>
|
|
|
|
<LI>
|
|
DPMS support added</LI>
|
|
</UL>
|
|
You can find both servers (and the rest of the XFCom-family) at our web
|
|
site <A HREF="http://www.suse.de/XSuSE/XSuSE_E.html">http://www.suse.de/XSuSE/XSuSE_E.html</A>
|
|
<P>As always, these servers are freely available, the sources to these
|
|
servers are already part of the XFree86 development source. Binaries for
|
|
other OSs will be made available, time permitting.
|
|
<H2>
|
|
XSuse Matrox Millenium G200 support</H2>
|
|
Suse appears to have also added support for the Matrox Millennium G200
|
|
AGP to their Matrox X server. No official announcement has been seen,
|
|
but word of this development first appeared to 'Muse's eyes via <A HREF="http://Slashdot.org">Slashdot.org</A>.
|
|
<P>The driver is available from <A HREF="ftp://ftp.suse.com/pub/suse_update/XSuSE/xmatrox/">ftp://ftp.suse.com/pub/suse_update/XSuSE/xmatrox/.</A>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
<A HREF="http://link.springer.de/link/service/journals/00371/index.htm">The
|
|
Visual Computer Journal</A></H2>
|
|
Special Issue on Real-time Virtual Worlds
|
|
<BR>Submissions due: October 31, 1998
|
|
<P>Real-time Virtual Worlds are now possible on most workstations and PCs.
|
|
The challenge is to design user-friendly systems for creating new applications
|
|
and tools. This special issue of the Visual Computer is dedicated to new
|
|
algorithms, methods, and systems in Real-time Virtual Worlds. Original,
|
|
unpublished research, practice, and experience papers are sought that address
|
|
issues in all aspects of Real-time Virtual Worlds. Topics include, but
|
|
are not limited to:
|
|
<UL>
|
|
<LI>
|
|
Modeling for Real-time Virtual Worlds</LI>
|
|
|
|
<LI>
|
|
Real-time animation</LI>
|
|
|
|
<LI>
|
|
Real-time rendering algorithms</LI>
|
|
|
|
<LI>
|
|
Real-time motion control and motion capture</LI>
|
|
|
|
<LI>
|
|
Real-time talking heads</LI>
|
|
|
|
<LI>
|
|
Intelligent interfaces for real-time computer animation</LI>
|
|
|
|
<LI>
|
|
Avatars and Real-time Autonomous Virtual Humans</LI>
|
|
|
|
<LI>
|
|
3D interaction with Virtual Worlds</LI>
|
|
|
|
<LI>
|
|
Networked Virtual Environments</LI>
|
|
|
|
<LI>
|
|
Artificial Life in Virtual Worlds</LI>
|
|
|
|
<LI>
|
|
Virtual Worlds on the Web</LI>
|
|
|
|
<LI>
|
|
Real-time audio and speech for Virtual Worlds</LI>
|
|
|
|
<LI>
|
|
Real-time simulation</LI>
|
|
|
|
<LI>
|
|
Games and entertainment applications</LI>
|
|
</UL>
|
|
Schedule:
|
|
<TABLE BORDER=0 COLS=2 WIDTH="65%" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE>Paper Submission: </TD>
|
|
|
|
<TD>October 31, 1998</TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD NOSAVE>Acceptance/Rejection Notification: </TD>
|
|
|
|
<TD>January 15, 1999</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD>Final Manuscript Submissions: </TD>
|
|
|
|
<TD>February 15, 1999</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD>Publication: </TD>
|
|
|
|
<TD>Summer 1999</TD>
|
|
</TR>
|
|
</TABLE>
|
|
The editors for this issue of the Visual Computer are:
|
|
<P>Nadia Magnenat-Thalmann
|
|
<BR>Associate Editor-in-Chief
|
|
<BR>MIRALab, University of Geneva
|
|
<BR>Email: <A HREF="mailto:thalmann@cui.unige.ch">thalmann@cui.unige.ch</A>
|
|
<P>Daniel Thalmann
|
|
<BR>Computer Graphics Lab
|
|
<BR>EPFL
|
|
<BR>Email: <A HREF="mailto:thalmann@lig.di.epfl.ch">thalmann@lig.di.epfl.ch</A>
|
|
<BR>
|
|
<P>Submission guidelines: Authors may submit their paper either as an HTML
|
|
URL or by ftp. For ftp, the electronic version of your manuscript should
|
|
be submitted in PDF (preferred) or Postscript (compressed with gzip) using
|
|
anonymous ftp to <A HREF="ftp://ligsg2.epfl.ch">ligsg2.epfl.ch</A>. The
|
|
paper should be submitted as one file. The file name should be first
|
|
author's name. Please follow the procedure:
|
|
<UL><TT>ftp ligsg2.epfl.ch</TT>
|
|
<BR><TT>username: anonymous</TT>
|
|
<BR><TT>password: <your email address></TT>
|
|
<BR><TT>cd tvc</TT>
|
|
<BR><TT>put <filename></TT></UL>
|
|
In any case, you should send an email to <A HREF="mailto:tvcanim@lig.di.epfl.ch">tvcanim@lig.di.epfl.ch</A>
|
|
with the title of the paper, the authors with affiliation, the contact
|
|
author, and either the URL or the filename used for ftp. For author guidelines,
|
|
please consult: <A HREF="http://www.computer.org/multimedia/edguide.htm">http://www.computer.org/multimedia/edguide.htm</A>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
KIllustrator 0.4</H2>
|
|
<B><I><FONT COLOR="#CC6600">KIllustrator</FONT></I></B> is a freely available
|
|
vector-based drawing application for the K Desktop Environment similiar
|
|
to Corel Draw(tm) or Adobe Illustrator(tm).
|
|
<P>Features include:
|
|
<UL>
|
|
<LI>
|
|
different object types: polylines, circles, ellipses, squares, rectangles,
|
|
(symmetric) polygons, freehand lines, bezier curves and multiline text</LI>
|
|
|
|
<LI>
|
|
tools for moving, scaling, rotating as well as grouping, ungrouping, aligning,
|
|
distributing and reordering objects</LI>
|
|
|
|
<LI>
|
|
various line styles and arrows</LI>
|
|
|
|
<LI>
|
|
a multilevel undo/redo facility</LI>
|
|
|
|
<LI>
|
|
a property editor</LI>
|
|
|
|
<LI>
|
|
multi-window support with cut/copy/paste between the windows</LI>
|
|
|
|
<LI>
|
|
zooming and snapping to grid</LI>
|
|
|
|
<LI>
|
|
multilevel undo/redo</LI>
|
|
|
|
<LI>
|
|
(network-transparent) drop support with the KDE filemanager</LI>
|
|
|
|
<LI>
|
|
printing to PostScript (file or printer)</LI>
|
|
|
|
<LI>
|
|
preliminary WMF support</LI>
|
|
|
|
<LI>
|
|
export to raster image formats (GIF, PNG, XPM) and Encapsulated Postscript</LI>
|
|
|
|
<LI>
|
|
import of Xfig files</LI>
|
|
</UL>
|
|
The installation requires a working KDE 1.0, QT 1.40 as well as gcc-2.8.1
|
|
or egc-1.03. KIllustrator is tested on Linux, FreeBSD and Solaris.
|
|
<P>For further information (screenshots, download) please consult my homepage
|
|
at:
|
|
<UL><A HREF="http://wwwiti.cs.uni-magdeburg.de/~sattler/killustrator.html">http://wwwiti.cs.uni-magdeburg.de/~sattler/killustrator.html</A></UL>
|
|
Please, for question, comments, bug reports or contributions e-mail me
|
|
at <A HREF="mailto:kus@iti.cs.uni-magdeburg.de">kus@iti.cs.uni-magdeburg.de</A>.
|
|
<P>Kai-Uwe Sattler
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
RenderPark</H2>
|
|
<B><I><FONT COLOR="#CC6600">RenderPark</FONT></I></B> is a photo-realistic
|
|
rendering tool being developed at the Computer Graphics Research Group
|
|
of the Katholieke Universiteit Leuven, in Belgium. The goal is to offer
|
|
a solid implementation of many existing photo-realistic rendering algorithms
|
|
in order to compare them on a fair basis, evaluate benefits and shortcomings,
|
|
find solutions for the latter and to develop new algorithms that are more
|
|
robust and efficient than the algorithms that are available today. RenderPark
|
|
will offer you several state-of-the-art rendering algorithms that are not
|
|
yet present in other rendering packages, not even in expensive ones. Allthough
|
|
RenderPark is in the first place a test-bed for rendering algorithms, it
|
|
is evolving towards a full-featured physics-based global illumination rendering
|
|
system.
|
|
<P><A HREF="http://www.cs.kuleuven.ac.be/cwis/research/graphics/RENDERPARK/">http://www.cs.kuleuven.ac.be/cwis/research/graphics/RENDERPARK/</A>
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<!--
|
|
-- Did You Know Section
|
|
-->
|
|
<H4>
|
|
Did You Know?</H4>
|
|
|
|
<UL>...there are two True Type<SUP>®</SUP> font servers based on the
|
|
<A HREF="http://www.freetype.org/">FreeType</A>
|
|
package: <A HREF="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">xfsft</A>
|
|
and <A HREF="ftp://sunsite.unc.edu/pub/Linux/X11/fonts">xfstt</A>.
|
|
The latter is reported to have some problems with fonts over 90 pixels
|
|
high and appears to go into "memory starved mode" after extensive use of
|
|
the Text tool in the Gimp. Aside from these issues, however, both
|
|
are reported to be fairly stable servers.
|
|
<P>...The computer magazine PC Chip will be publishing an interview with
|
|
<B><FONT COLOR="#006600">Ton
|
|
Roosendaal,</FONT></B> owner of <B>Not a Number
|
|
</B>which is the company
|
|
bringing us the 3D modeller <A HREF="http://www.neogeo.nl/blender.html">Blender</A>.
|
|
This interview has been placed <A HREF="http://lji.purger.com/cool/pcchip/ton.html">online</A>
|
|
so readers can get an early glimpse at it.</UL>
|
|
<!--
|
|
-- Q and A Section
|
|
-->
|
|
<H4>
|
|
<B><FONT SIZE=+0>Q and A</FONT></B></H4>
|
|
<I>Q: Is there a way to include carriage returns with the text tool, or
|
|
to align phrases created with individual uses of the text tool?</I>
|
|
<P>A: I didn't know the answer to this one, but found the following
|
|
answer on the Gimp-User mailing list (unfortunately I didn't get the responder's
|
|
name - my apologies to that person):
|
|
<BLOCKQUOTE>Try the "Script-fu --> Utils --> ASCII 2 Image Layer" command.
|
|
This allows you to import a text file as one or more layers of text.</BLOCKQUOTE>
|
|
Note that this Script is available either from the <B>Image Window</B>
|
|
menu's Script-Fu option or from the <B>Xtns</B> menu's Script-Fu option.
|
|
<P><I>Q: Mark Lenigan (<A HREF="mailto:mlenigan@umdsun2.umd.umich.edu">mlenigan@umdsun2.umd.umich.edu</A>)
|
|
wrote to the Gimp User mailing list:</I>
|
|
<BLOCKQUOTE><I>I'm trying to create a transparent GIF with a drop shadow
|
|
for the title graphic on my Web page. I'm pretty much following the
|
|
cookbook from <A HREF="http://www.gimp.org/tutorials">www.gimp.org/tutorials</A>,
|
|
except that I'm not including the background color layer and using "Merge
|
|
Visible Layers" to keep the final image transparent. Everything goes
|
|
fine until I need to convert the image to an indexed image just before
|
|
I save it in the .gif format file. At that point the shadow in my
|
|
image immediately disappears and the text seems to lose its anti-aliasing.
|
|
Can anyone shed some light on to this?</I></BLOCKQUOTE>
|
|
A: <A HREF="mailto:Simon.Budig@unix-ag.org">Simon Budig</A> responded:
|
|
<BLOCKQUOTE>Yes. Gimp can only handle 1-bit transparency in indexed color
|
|
mode. So when you convert an image to indexed the different levels of transparency
|
|
will get lost. There is the great "Filters/Colors/Semiflatten" plugin.
|
|
It merges all partially transparent regions against the current Backgroundcolor.
|
|
Select a BG-Color (i.e. matching to the BG-Color of your Web-page) and
|
|
watch the effect of the plugin. Then you can convert your Image to Indexed
|
|
and save it as GIF. (GIF can also handle just 1-bit transparency).</BLOCKQUOTE>
|
|
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=1></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<H2>
|
|
Reader Mail</H2>
|
|
|
|
<P><BR><A HREF="mailto:zen@getsystems.com">zen@getsystems.com</A> wrote:
|
|
<UL>I'd like to hear more technical details of the internals of Gimp, and
|
|
comparing Gimp to photoshop - eg. Photoshop 5 is now out with multiple
|
|
undo - undo history list, even.</UL>
|
|
<B><FONT COLOR="#993300">'Muse</FONT></B>: Unfortunately, I can't
|
|
do this sort of comparison. I don't run anything but Unix boxes (specifically
|
|
Linux) at home and don't have access to any Photoshop packages. I
|
|
might be able to do the comparison based on Photoshop texts, but that's
|
|
the best I could do.
|
|
<UL>Also modelling tools. Gimp is 2D. Where is 3D? Pov-Ray can render,
|
|
but is there anything to compare with say Lightwave, or 3D-StudioMax?</UL>
|
|
<B><FONT COLOR="#993300">'Muse</FONT></B>: There are no real competitors
|
|
to Lightwave or 3D-StudioMax for Linux. There are quite a few modellers
|
|
available, each with different levels of sophistication. But none
|
|
that compares to the sophistication of either of the two tools you mention.
|
|
You can find a list of modellers in my <A HREF="http://www.graphics-muse.org/muse/jun97/gm.html">June
|
|
1997 Graphics Muse </A>column. Not all of the links in that issue
|
|
are still valid. Some of the modellers seem to have disappeared and
|
|
some have changed URLs. You can try a search using the package name
|
|
through <A HREF="http://freshmeat.net">freshmeat.net</A> if the links in
|
|
the June 1997 issue don't work for you.
|
|
<P>One modeller that was not listed in that issue but that looks quite
|
|
interesting is Blender, which is a commercial package that has only recently
|
|
been released for free (no source code) to Linux users. I hope to
|
|
do a review of it soon. However, the last version I tried was not
|
|
documented sufficiently to allow me to understand how to do even the most
|
|
basic tasks. The interface is complex and feature rich, but not intuitive
|
|
to 3D newbies.
|
|
<UL>Distributed rendering.</UL>
|
|
'<B><FONT COLOR="#993300">Muse</FONT></B>: I'll see what I can do
|
|
about this. One tool to consider is <A HREF="http://www-mddsp.enel.ucalgary.ca/People/adilger/povray/pvmpov.html">PVMPOV</A>,
|
|
a patch to POV-Ray to allow for distributed rendering across multiple systems
|
|
on a network. <A HREF="http://netlib2.cs.utk.edu/pvm3/">PVM</A> is
|
|
the Parallel Virtual Machine, a package for distributed processing used
|
|
on many Unix systems. You should probably note that this is a patch
|
|
to POV-Ray, so you'll need to understand how to apply patches to source
|
|
code in order to use it.
|
|
<UL>Just some things I'd be delighted to read about.
|
|
<BR>Cheers,
|
|
<BR>Zen.</UL>
|
|
<B><FONT COLOR="#993300">'Muse</FONT></B>: Again, thanks for the
|
|
ideas. I'll see what I can do.
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<A NAME="webwonderings"></A>
|
|
<BR><IMG SRC="../gx/hammel/webwonderings.jpg" HEIGHT=57 WIDTH=246>
|
|
<H2>
|
|
Managing your Perl scripts: using 'require'</H2>
|
|
<A HREF="http://www.graphics-muse.org/muse/aug98/gm.html">Last month</A>
|
|
we talked about accessing an mSQL database from CGI scripts using Perl
|
|
with two modules: CGI.pm and Msql. In the example described
|
|
there, we built a couple of HTML tables and embedded some text stored in
|
|
a table in an mSQL database. It turns out that generating HTML using
|
|
CGI.pm is quite simple, and using Perl with the Msql module makes combining
|
|
your HTML output with information from a database really rather painless.
|
|
<P>But that example was extremely simple. Real world examples often
|
|
have dynamic pages that are built from multiple databases. And each
|
|
page often links to other dynamically built pages that provide some, or
|
|
even all, of the same information from those databases. In other
|
|
words, parts of each page contain the same HTML formatting and data.
|
|
How can you avoid having to duplicate that HTML in each page?
|
|
<P>With older static page development methods, there really weren't any
|
|
methods for including common regions into multiple pages unless you used
|
|
frames. The frames allowed you to create a region on the browser
|
|
display that would be a single page of HTML that could be displayed along
|
|
with various other pages. In this way, you need only maintain a single
|
|
copy of that one common page. From a Web developer's point of view,
|
|
this was an ideal situation - it meant the probability of error in trying
|
|
to update identical HTML in multiple pages was eliminated. It also
|
|
meant less work. But to readers of those pages it could mean frustration,
|
|
since not all browsers at the time supported frames. Even now, frame
|
|
handling is not consistant between the two main browsers, Netscape Navigator
|
|
and Microsoft's Internet Explorer. Although frames can be used to
|
|
produce some terrific Web pages, they are not the ideal solution for supporting
|
|
different browsers, especially older browsers.
|
|
<P>Fortunately, this problem can be overcome with our new friend Perl.
|
|
The method for inclusion in multiple pages of common formats and data is
|
|
simple. However, the management of these common regions takes a little
|
|
thought. Let's first look at how to include Perl code from different
|
|
files in your main Perl script.
|
|
<P>In Perl, a subroutine or other piece of common code would be written
|
|
in a <B><FONT COLOR="#006600">module</FONT></B>, a separate file of Perl
|
|
code. Modules can be included at any point within a Perl script.
|
|
By default, Perl looks at a special variable called <TT><FONT SIZE=-1>@INC</FONT></TT>
|
|
to determine where to find these modules. Also by default, the current
|
|
working directly, ".", is listed in the <TT><FONT SIZE=-1>@INC </FONT></TT>variable
|
|
as the last directory to search for modules. <B>Note</B>: <TT><FONT SIZE=-1>@INC</FONT></TT>
|
|
is a list variable, that is, it is an array of strings with each string
|
|
being the name of a directory to search for modules.
|
|
<P>To include a module into your main Perl cgi script you would use the
|
|
require function. The format is simple:
|
|
<UL><TT><FONT SIZE=-1>require 'modulename.pl';</FONT></TT></UL>
|
|
This function tells the Perl interpreter to include the named module, <I>but
|
|
only if it has not been included previously</I>. In this way you
|
|
can include the same module multiple times without worry that doing so
|
|
will cause serious problems.
|
|
<P>When the module is included, the code within it is run at the point of
|
|
inclusion. You can, if you so desire, write the module to have code
|
|
that runs right then and there using variables with a global scope (i.e.,
|
|
they are visible to the original program as well as the included module).
|
|
However, it would probably make more sense to write the module as a subroutine
|
|
call instead. You can still use globally scoped variables, but by
|
|
making the module a subroutine call, you can guarantee the code is not run
|
|
until you specifically request it. You can also run it more than
|
|
one time if you want.
|
|
<P>So how do you make a subroutine? Just wrap the code inside the
|
|
following construct:
|
|
<UL><TT><FONT SIZE=-1>sub subname {</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>}</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>1</FONT></TT></UL>
|
|
The 1 at the end is important - modules must include this or else the require
|
|
function will fail. Now invoke the subroutine with the following
|
|
command:
|
|
<UL><TT><FONT SIZE=-1>&subname();</FONT></TT></UL>
|
|
The ampersand is important - you should always prefix calls to your subroutines
|
|
with the ampersand. Although things may work properly if you don't,
|
|
proper Perl syntax suggests the results can be unexpected if you don't
|
|
use the ampersand.
|
|
<P>If you want to pass parameters into the subroutine, you can do so as
|
|
a list. For example:
|
|
<UL><TT><FONT SIZE=-1>&subname("one item");</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>&subname("one item", "two items");</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>&subname(@listitems);</FONT></TT></UL>
|
|
To access the command line arguments in the subroutine, you can do something
|
|
like the following:
|
|
<UL><TT><FONT SIZE=-1>sub subname</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>{</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> # @_ contains all parameters to the
|
|
subroutine.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> # We first assign these to the @params
|
|
variable because the variable</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> # name "@params" is a bit more intuitive
|
|
than "@_".</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> @params = @_;</FONT></TT>
|
|
<P><TT><FONT SIZE=-1> foreach $arg (@params)</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> {</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> # now run through
|
|
each parameter one at a time</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> # and process it.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> if ( "$arg" eq ""
|
|
)</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> {</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>
|
|
...</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> }</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> }</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>}</FONT></TT></UL>
|
|
|
|
<CENTER><<A HREF="more-musings.html#1">continued</A>></CENTER>
|
|
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<A NAME="musings"></A>
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/musings.gif" ALT="Musings" HEIGHT=52 WIDTH=247 ALIGN=LEFT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=0 CELLPADDING=0 COLS=3 WIDTH="100%" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD VALIGN=TOP ROWSPAN="3" WIDTH="50%" NOSAVE>
|
|
<H2>
|
|
libgr - A collection of image libraries</H2>
|
|
Many users of graphics tools discussed in this column will find that those
|
|
tools are dependent on any number of file format specific libraries.
|
|
For example, the Gimp needs libraries for JPEG, PNG, PNM, MPEG and XPM
|
|
in order to support these file formats. The Gimp doesn't understand
|
|
how to read these files directly - it is dependent on the image format
|
|
libraries for assistance in reading and writing files in these formats.
|
|
Since the Gimp (and other tools) don't include these libraries in their
|
|
source distributions, users are often required to retrieve and install
|
|
these libraries manually.
|
|
<P>Normally, users would download format-specific libraries and build them
|
|
separately. Each of the formats mentioned earlier, plus a few others,
|
|
are available somewhere on the Net in source format. Most are available
|
|
somewhere on the Sunsite archives. Unfortunately, not all of these
|
|
format specific libraries are easily built on Linux. The Gimp
|
|
User Mailing list is often flooded with questions about how to get the
|
|
JPEG library to build shared libraries. By default this library doesn't
|
|
build a Linux ELF shared library. In fact, even with the proper configuration
|
|
it still only builds a.out shared libraries. A better solution is
|
|
needed.
|
|
<P>Enter <B><I><FONT COLOR="#CC6600">libgr</FONT></I></B>. This is
|
|
a collection of image format libraries that have been packaged together
|
|
and organized to easily build and install on Linux systems. The package
|
|
builds both static and ELF shared libraries automatically. The distribution
|
|
is maintained by Neal Becker (<A HREF="mailto:neal@ctd.comsat.com">neal@ctd.comsat.com</A>)
|
|
and is based on the work done originally by Rob Hooft (<A HREF="mailto:hooft@EMBL-Heidelberg.DE">hooft@EMBL-Heidelberg.DE</A>).
|
|
The latest version, 2.0.13, of libgr can be retrieved from <A HREF="ftp://ftp.ctd.comsat.com:/pub/linux/ELF">ftp.ctd.comsat.com:/pub/linux/ELF</A>.
|
|
<P>Libgr contains the following set of graphics libraries:
|
|
<UL>
|
|
<LI>
|
|
fbm</LI>
|
|
|
|
<LI>
|
|
jpeg</LI>
|
|
|
|
<LI>
|
|
pbm</LI>
|
|
|
|
<LI>
|
|
pgm</LI>
|
|
|
|
<LI>
|
|
pnm</LI>
|
|
|
|
<LI>
|
|
ppm</LI>
|
|
|
|
<LI>
|
|
png</LI>
|
|
|
|
<LI>
|
|
rle</LI>
|
|
|
|
<LI>
|
|
tiff</LI>
|
|
</UL>
|
|
It also contains the <I>zlib</I> compression library which is used specifically
|
|
by the TIFF and PNG graphics libraries. It may also, although I'm
|
|
not sure of this, be used by the FBM library to (at a minimum) support
|
|
the GIF format.
|
|
<P>FBM is the Fuzzy Pixmap Manipulation library. This package is
|
|
related to, but not part of, the PBMPlus package by Jef Poskazner.
|
|
The library can read and write a number of formats, including:
|
|
<UL>
|
|
<LI>
|
|
Sun rasterfiles </LI>
|
|
|
|
<LI>
|
|
GIF files </LI>
|
|
|
|
<LI>
|
|
Amiga IFF </LI>
|
|
|
|
<LI>
|
|
PCX </LI>
|
|
|
|
<LI>
|
|
PBM </LI>
|
|
|
|
<LI>
|
|
Face files (CMU format for 1bit files)</LI>
|
|
|
|
<LI>
|
|
FBM </LI>
|
|
|
|
<LI>
|
|
Utah RLE files (from the Utah Raster Toolkit)</LI>
|
|
</UL>
|
|
It also supports quite a number of image operations, all of which are described
|
|
in the <I>Features</I> text file in the fbm directory. Like PBM,
|
|
FBM is a format designed specifically by the FBM library author for handling
|
|
images internal to the library (although you can write that format to a
|
|
file too).
|
|
<P>JPEG is actually a standard that defines a suite of encodings for full-color
|
|
and continuous-tone raster images<SUP><A HREF="#footnote-1">1</A></SUP>.
|
|
The software for this library, which is essentially the same as the software
|
|
that comes in the standalone JPEG library package found on the <A HREF="ftp://ftp.gimp.org/pub/gimp/libs">Gimp's
|
|
ftp site</A>, comes from the Independent JPEG Group and, as far as I can
|
|
tell, supports the complete JPEG definition. JPEG is a common format
|
|
for the Web since it is one of the formats listed by the WC3 in the early
|
|
HTML specifications for Web images.
|
|
<P>The PBM, PGM, PNM, and PPM formats are all part of the NetPBM/PBMPlus
|
|
packages. These formats are often used as intermediary formats for
|
|
processing by the NetPBM/PBMPlus tools. Although these libraries
|
|
provide the capability of saving image files in these formats, I have not
|
|
seen this as a common practice. This is probably due to the fact
|
|
that the files tend to be rather large and the image formats are not generally
|
|
supported by non-Unix platforms. These formats are widely supported,
|
|
however, by Unix-based graphics software.
|
|
<P>The PNG library supports the relatively new Portable Network Graphics
|
|
format. This format was designed, at least in part, to replace the
|
|
GIF format which had both licensing as well as a few format limitations.
|
|
PNG is now an officially supported format by the WC3 although support for
|
|
these images is not commonly mentioned by either Netscape or MSIE.
|
|
I'm not sure if either supports PNG yet.
|
|
<P>RLE is Run Length Encoding, a format from the University of Utah designed
|
|
for device independent multilevel raster images. Although the format
|
|
is still in use today, you won't see it referenced often in relation to
|
|
tools like the Gimp (though the Gimp does support the format) or 3D rendering
|
|
engines like BMRT or POV-Ray.
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<CENTER>
|
|
<P><A HREF="#next-column">-Top of next column-</A></CENTER>
|
|
</TD>
|
|
|
|
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
|
|
<TD WIDTH="49%" NOSAVE><LH><A NAME="next-column"></A><B>More Musings...</B></LH>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="more-musings.html#2">Fun with QBist</A></LI>
|
|
</UL>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD BGCOLOR="#000000" NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=1 WIDTH=1></TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD VALIGN=TOP NOSAVE>Finally, the TIFF library is a set of routines for
|
|
supporting the reading and writing of TIFF files. TIFF files are
|
|
popular because of their wide support on multiple platforms (Mac, MS, and
|
|
Unix) and because of their high quality images. However, they tend
|
|
to be extremely large images since they do not use any form of compression
|
|
on the image data.
|
|
<H3>
|
|
Building the package</H3>
|
|
Once you have retrieved the libgr package you can unpack it with the following
|
|
command:
|
|
<UL><TT><FONT SIZE=-1>% tar xvzf libgr-2.0.13.tar.gz</FONT></TT></UL>
|
|
This will create a directory called libgr-2.0.13. Under this directory
|
|
you will find the format specific directories, Makefiles and a number of
|
|
text files. In the INSTALL text file you will find instructions on
|
|
how to build the software. For Linux this is a simple process of
|
|
typing
|
|
<UL><TT><FONT SIZE=-1>% make most</FONT></TT></UL>
|
|
which will build all the software but not install it. I recommend
|
|
doing this once to test that the build actually completes successfully
|
|
for all directories before trying to install anything. If the build
|
|
fails and you attempt to install you may confuse yourself as to what has
|
|
and hasn't been installed correctly. After the build completes, check
|
|
each directory and see if the lib*.so files - the shared libraries - have
|
|
been created. If all appears to have gone well, type
|
|
<UL><TT><FONT SIZE=-1>% make install</FONT></TT></UL>
|
|
This will install the libraries for you. There are other options
|
|
available for building and installing. Read the <I>INSTALL</I> text
|
|
file in the top level directory for details on the other options.
|
|
<P>At this point you're ready to use these libraries with other tools,
|
|
such as the Gimp.
|
|
<H3>
|
|
Why use libgr vs the individual libraries? </H3>
|
|
Libgr provides support for a large range of image file formats, but it
|
|
doesn't support every common and/or popular format. So why use it
|
|
instead of the individual format libraries? One reason is convenience.
|
|
Instead of having to retrieve a whole slew of packages you can grab one.
|
|
Second, as mentioned earlier, not all of the individual packages are setup
|
|
to build proper ELF shared libraries for Linux. Libgr is specifically
|
|
designed for building these type of libraries.
|
|
<P>What libraries does libgr not include that you might want? One
|
|
fairly common X Windows format is XPM. Libgr does not support this
|
|
format so you'll need to retrieve the XPM library separately. Fortunately,
|
|
most Linux distributions already come with this library prebuilt and available
|
|
to you during installation of the operating system.
|
|
<P>Libgr also does not support any animation file formats. If you
|
|
have need to read or write files in MPEG, FLI or FLC formats, for example,
|
|
you will need to locate and install those libraries individually.
|
|
<H3>
|
|
Caveats</H3>
|
|
One minor caveat to using the libgr package exists with the zlib distribution.
|
|
According to the documentation for libgr (in the <I>NEWS</I> text file)
|
|
the zlib release numbers went <B>down</B> at some point. This means
|
|
it's possible for you to have an older version of zlib installed even though
|
|
its version number is higher than the one in libgr. How to resolve
|
|
this is a tricky question but in my opinion it makes sense to install the
|
|
zlib that comes with libgr because it's known to work with the rest of the
|
|
image libraries in the libgr package. If you agree with this logic
|
|
then you will probably want to remove the old version of zlib first, before
|
|
doing the <TT><FONT SIZE=-1>make install </FONT></TT>for libgr.
|
|
<P>
|
|
<H3>Summary</H3>
|
|
<P>Libgr is not a drop-in replacement for all your image file format needs,
|
|
but it does offer added convenience to the Linux users by providing a Linux-specific,
|
|
easy to use build and install environment. Since the libraries included
|
|
in the libgr package do not change all that often it makes good system
|
|
management sense to deal with the one distribution than to try to deal
|
|
with updates to multiple image format packages. And if you're dealing
|
|
with building the Gimp, which requires many image libraries, libgr is a
|
|
much simpler solution to get you up and running in the least amount of
|
|
time and with the least amount of frustration.
|
|
<BR>
|
|
<CENTER>
|
|
<P><IMG SRC="./gx/hammel/qbist-small.jpg" BORDER=2 HEIGHT=200 WIDTH=200></CENTER>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
<BR><A NAME="footnote-1"></A><FONT SIZE=-2>1. C. Wayne Brown and
|
|
Barry J. Shepherd, Graphics File Formats: Reference and Guide, Prentice
|
|
Hall/Manning, 1995. </FONT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<A NAME="resources"></A>
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" >
|
|
<TR>
|
|
<TD><IMG SRC="../gx/hammel/resources.gif" ALT="Resources" HEIGHT=57 WIDTH=246 ALIGN=LEFT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
The following links are just starting points for finding more information
|
|
about computer graphics and multimedia in general for Linux systems. If
|
|
you have some application specific information for me, I'll add them to
|
|
my other pages or you can contact the maintainer of some other web site.
|
|
I'll consider adding other general references here, but application or
|
|
site specific information needs to go into one of the following general
|
|
references and not listed here.
|
|
<BR>
|
|
<TABLE BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE>Online Magazines and News sources
|
|
<BR><A HREF="http://www.news.com/">C|Net Tech News</A>
|
|
<BR><A HREF="http://www.eklektix.com/lwn/">Linux Weekly News</A>
|
|
<BR><A HREF="http://slashdot.org/">Slashdot.org</A>
|
|
<BR><A HREF="http://www.dv.com">Digital Video</A>
|
|
<BR><A HREF="http://www.cgw.com">Computer Graphics World</A>
|
|
<P>General Web Sites
|
|
<BR><A HREF="http://www.graphics-muse.org/linux/lgh.html">Linux Graphics
|
|
mini-Howto</A>
|
|
<BR><A HREF="http://www.graphics-muse.org/ugu/ugu.html">Unix Graphics Utilities</A>
|
|
<BR><A HREF="http://www.bright.net/~dlphilp/linux_soundapps.html">Linux
|
|
Sound/Midi Page</A>
|
|
<P>Some of the Mailing Lists and Newsgroups I keep an eye on and where
|
|
I get much of the information in this column
|
|
<BR><A HREF="http://www.gimp.org">The Gimp User and Gimp Developer Mailing
|
|
Lists</A>.
|
|
<BR><A HREF="http://www.irtc.org">The IRTC-L discussion list</A>
|
|
<BR><A HREF="news:comp.graphics.rendering.raytracing">comp.graphics.rendering.raytracing</A>
|
|
<BR><A HREF="news:comp.graphics.rendering.renderman">comp.graphics.rendering.renderman</A>
|
|
<BR><A HREF="news:comp.graphics.api.opengl">comp.graphics.api.opengl</A>
|
|
<BR><A HREF="news:comp.os.linux.announce">comp.os.linux.announce</A></TD>
|
|
|
|
<TD><IMG SRC="../gx/hammel/gmuse.jpg" HSPACE=10 HEIGHT=270 WIDTH=190></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<A NAME="future"></A>
|
|
<H2>
|
|
Future Directions</H2>
|
|
Next month:
|
|
<P><A HREF="mailto:mjhammel@graphics-muse.org">Let me know what you'd like
|
|
to hear about!</A>
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
<DIV ALIGN=right><FONT SIZE=-1>© 1998 <A HREF="mailto:mjhammel@graphics-muse.org">Michael
|
|
J. Hammel</A></FONT></DIV>
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<center><H4>Previous ``Graphics Muse'' Columns</H4></center>
|
|
<p>
|
|
<A HREF="../issue11/gm.html">Graphics Muse #1, November 1996</A><br>
|
|
<A HREF="../issue12/gm.html">Graphics Muse #2, December 1996</A><br>
|
|
<A HREF="../issue13/gm.html">Graphics Muse #3, January 1997</A><br>
|
|
<A HREF="../issue14/gm.html">Graphics Muse #4, February 1997</A><br>
|
|
<A HREF="../issue15/gm.html">Graphics Muse #5, March 1997</A><br>
|
|
<A HREF="../issue16/gm.html">Graphics Muse #6, April 1997</A><br>
|
|
<A HREF="../issue17/gm.html">Graphics Muse #7, May 1997</A><br>
|
|
<A HREF="../issue18/gm.html">Graphics Muse #8, June 1997</A><br>
|
|
<A HREF="../issue19/gm.html">Graphics Muse #9, July 1997</A><br>
|
|
<A HREF="../issue20/gm.html">Graphics Muse #10, August 1997</A><br>
|
|
<A HREF="../issue22/gm.html">Graphics Muse #11, October 1997</A><br>
|
|
<A HREF="../issue23/gm.html">Graphics Muse #12, December 1997</A><br>
|
|
<A HREF="../issue25/gm.html">Graphics Muse #13, February 1998</A><br>
|
|
<A HREF="../issue26/gm.html">Graphics Muse #14, March 1998</A><br>
|
|
<A HREF="../issue27/gm.html">Graphics Muse #15, April 1998</A><br>
|
|
<A HREF="../issue31/gm.html">Graphics Muse #16, August 1998</A>
|
|
<P><HR><P>
|
|
<center><H5>Copyright © 1998, Michael J. Hammel <BR>
|
|
Published in Issue 32 of <i>Linux Gazette</i>, September 1998</H5></center>
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
|
|
ALT="[ TABLE OF CONTENTS ]"></A>
|
|
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
|
|
ALT="[ FRONT PAGE ]"></A>
|
|
<A HREF="./stemen.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="./henning1.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
<!--startcut ==========================================================-->
|
|
</BODY>
|
|
</HTML>
|
|
<!--endcut ============================================================-->
|