1172 lines
50 KiB
HTML
1172 lines
50 KiB
HTML
<!--startcut ==========================================================-->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.03 [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></CENTER>
|
|
|
|
<CENTER><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>
|
|
|
|
<BR><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.
|
|
<BR>
|
|
<BR><IMG SRC="./gx/hammel/bookcover.jpg" HSPACE=10 VSPACE=10 HEIGHT=250 WIDTH=154 ALIGN=RIGHT>Well,
|
|
it's been a couple of months since we last spoke. I've been working
|
|
on a major project for the past year and the last 3 months have been exceptionally
|
|
busy. But the project is done, or very nearly so (a few minor details
|
|
left to handle) - and that project is a book on the Gimp. It's called
|
|
<I><U>The Artists Guide to the Gimp</U></I> and should hit the shelves
|
|
sometime in September. All I can say is, I hope you like it.
|
|
Writing a technical book is harder than I thought. My next one is
|
|
going to be fictional novel. You don't have to do a CD, tons of images,
|
|
or 2nd editions for those.
|
|
|
|
<P>There were plenty of graphics related news announcements since the last
|
|
Muse. Unfortunately, I just didn't keep up with them and they've
|
|
expired from my news feed. So what I've got this month is pretty
|
|
recent info. I did hang onto a few tidbits from mailing lists I've
|
|
been scanning, plus email from a few readers. It's funny - I get email
|
|
about really old versions of the Muse every now and then. I think
|
|
people are still just finding out about it.
|
|
<BR>
|
|
<BR>In this month's column I'll be covering ...
|
|
<UL>
|
|
<LI>
|
|
creating dynamic web pages with msql and CGI.pm</LI>
|
|
|
|
<LI>
|
|
Gimp 1.0 - well, just a little.</LI>
|
|
</UL>
|
|
I'll have more for next month, but I just finished the book with only 3
|
|
days to get the Muse done.
|
|
|
|
<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%" >
|
|
<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>
|
|
<TD WIDTH="50%">
|
|
<H2>
|
|
Xi Graphics releases fully integrated Linux distribution</H2>
|
|
This isn't really graphics related, but Xi is an X server vendor.
|
|
And X server vendors are pretty important to the Linux graphics world.
|
|
So, here it is.
|
|
|
|
<P>Xi Graphics is now providing a commercial Linux distribution which includes
|
|
their <B><FONT COLOR="#993300">Accelerated X</FONT></B> server and their
|
|
maximum/CDE desktop product. Unit price is $214.95 for the Executive
|
|
Edition and $364.95 for the Developers Edition.
|
|
|
|
<P>For more details:
|
|
<BR>Kyle Fink
|
|
<BR>Xi Graphics
|
|
<BR>(303) 298-7478
|
|
<BR>kyle@xig.com</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>
|
|
Panasonic PalmCam utility</H2>
|
|
Fredrik Roubert has released a very early version (v0.3) of a driver for
|
|
the <B><FONT COLOR="#993300">Panasonic PalmCam</FONT></B>, an NV-DC1000
|
|
digital camera. According to Robert a couple of the features include
|
|
the ability to specify ranges to download and to preview or delete several
|
|
images in one session.
|
|
|
|
<P>For more information, check out his web page at
|
|
<BR><A HREF="http://www.df.lth.se/~roubert/NV-DC1000.html">http://www.df.lth.se/~roubert
|
|
/NV-DC1000.html</A>
|
|
|
|
<P>The package is available from the following sites:
|
|
<BR><A HREF="ftp://ftp.df.lth.se/pub/users/roubert/Linux">ftp://ftp.df.lth.se/
|
|
pub/users/roubert/Linux</A>
|
|
<BR><A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/graphics/capture">ftp://sunsite.unc.edu/
|
|
pub/Linux/apps/graphics/capture</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>
|
|
Linux / 3-D SIGGRAPH Report</H2>
|
|
At SIGGRAPH '98 in Orlando, Florida Daryll Strauss and Brian Paul organized
|
|
a special interest group (SIG) session to talk
|
|
<BR>about Linux, 3-D hardware acceleration, and related topics.
|
|
|
|
<P>Attendence was greater than expected with 100-150 people attending.
|
|
|
|
<P>A summary of presentations taken by Brian Paul, author of the Mesa package,
|
|
can be found at
|
|
<BR><A HREF="http://glide.xxedgexx.com/SIGNotes.html">http://glide.xxedgexx.com/
|
|
SIGNotes.html</A>
|
|
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
Blender News</H2>
|
|
There were a number of updates to Blender, the 3D modelling page from NeoGeo.
|
|
Here is a snapshot of annoucements from their News page:
|
|
|
|
<P>Blender manual (1998-07-10)
|
|
<UL>All information you need, packed in cool design at paper: the Blender
|
|
1.5 manual is scheduled to ship in October. Information about pricing and
|
|
pre-ordering will be available in August. </UL>
|
|
The Unofficial Blender Mailing list (1998-06-16)
|
|
<UL>To subscribe: send mail to <A HREF="mailto:majordomo@iqm.unicamp.br">majordomo@iqm.unicamp.br</A>
|
|
with the text
|
|
<CENTER><FONT SIZE=-1>subscribe blender3d your@email.address</FONT> </CENTER>
|
|
To post, send your message to <A HREF="mailto:blender3d@iqm.unicamp.br">blender3d@iqm.unicamp.br</A></UL>
|
|
Version 1.34 for Linux/FreeBSD available today. (1998-06-04)
|
|
<UL>Many bugs fixed and included some features: Play (flipbook). Use it
|
|
for playback test animations (Hamx) Frame counter during anim playback.
|
|
Read the BlenderBeta page for more.</UL>
|
|
</TD>
|
|
|
|
<TD>
|
|
<H2>
|
|
Linux IEEE-1394 (FireWire) Subsystem - Status report</H2>
|
|
Emanuel Pirker is working on the Linux IEEE-1394 (<B><FONT COLOR="#993300">FireWire</FONT></B>)
|
|
Subsystem for a while now and thought it would be a good idea to give a
|
|
small status report.
|
|
|
|
<P>IEEE-1394 is the name of a high-speed but low-cost serial bus. Apple
|
|
has trademarked it as "FireWire". Current implementations reach 200 Mbit/s,
|
|
soon we will have 400 and then 800 and so on. FireWire is designed for
|
|
consumer multimedia (e. g. connecting a digital video camera to your PC)
|
|
and high-speed peripherals (hard disks, CD ROMs, but also scanners, printers).
|
|
Since it provides quality of service (guaranteed bandwith and bounded latency)
|
|
it can also be used in industrial real-time applications.
|
|
|
|
<P>Support for Windows (NT) and Rhapsody is coming (some items are already
|
|
operational) but Linux users also want to benefit from this technology
|
|
- so Emanual started the development as a university project last winter.
|
|
|
|
<P>He now has a clearly designed subsystem, an Adaptec AIC-5800 driver
|
|
and some code to test it. Not all FireWire functions can be used now but
|
|
he has reached a point where the API is stable and other people can also
|
|
contribute work (e.g. a video camera driver).
|
|
|
|
<P>So if you are interested in this, just email Emanual - more (wo)manpower
|
|
is desperately needed.
|
|
|
|
<P>Contact addresses:
|
|
<BR>WWW: <A HREF="http://www.edu.uni-klu.ac.at/~epirker/ieee1394/">http://www.edu.uni-klu.ac.at/
|
|
~epirker/ieee1394/</A>
|
|
<BR>E-Mail: <A HREF="mailto:epirker@edu.uni-klu.ac.at">epirker@edu.uni-klu.ac.at </A>
|
|
<BR>
|
|
<BR>
|
|
<HR WIDTH="100%">
|
|
|
|
<P>Some late entries:
|
|
|
|
<P><A HREF="http://www.wizards.dupont.com/cristy/ImageMagick.html">ImageMagick
|
|
4.0.8</A>
|
|
<BR><A HREF="http://www.inforoute.capway.com/brunet3/">Panard Vision -
|
|
Portable Real-time 3D Engine for Linux</A>
|
|
<BR><A HREF="http://www.ssec.wisc.edu/~brianp/Mesa.html">Mesa 3.0 beta
|
|
7</A>
|
|
<BR><A HREF="ftp://ftp.mostang.com/pub/sane/">SANE 0.74</A>
|
|
<BR><A HREF="http://www.fas.harvard.edu/~lukka/freewrl">FreeWRL 0.14</A>
|
|
|
|
<P>For more details on these, check out <A HREF="http://www.freshmeat.net">Freshmeat.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>
|
|
XVScan 1.80 Scanning software</H2>
|
|
tummy.com, ltd. is pleased to announce <B><FONT COLOR="#993300">XVScan
|
|
Version 1.80</FONT></B>, which now includes support for Microtek ScanMaker
|
|
E3 and E6 scanners as well as HP SCSI ScanJet scanners. Currently
|
|
the Microtek support is available on Linux and Solaris, but our other platforms
|
|
will include that support shortly.
|
|
|
|
<P>XVScan is based on the popular <B><FONT COLOR="#993300">xv</FONT></B>
|
|
image manipulation software for X Windows and includes a fully licensed
|
|
copy of xv. It is source available commercial software.
|
|
|
|
<P>If you've never used John Bradley's XV image manipulation software,
|
|
it's difficult to describe how powerful it is. XV reads and writes files
|
|
in a dozen different formats, provides powerful color-map editing, window
|
|
capture, color-space conversion, cropping, image manipulation algorithms,
|
|
and the list goes on.
|
|
|
|
<P>XV gives you powerful image and color-map manipulation, support for
|
|
over a dozen image formats, as well as the Visual Schnauzer, and an easy
|
|
to use graphical interface to view and catalog your scanned images.
|
|
Supported images formats include: PNG, GIF, JPEG, progressive JPEG, TIFF
|
|
(compressed and uncompressed), PostScript (requires ghostscript), PBM/PGM/PPM
|
|
(raw and ascii), X11 Bitmap, XPM (X PixMap), Sun Rasterfile,
|
|
|
|
<P>With XVScan, you now have the ability to scan directly into XV in a
|
|
very cost efficient (and more importantly time efficient) manner.
|
|
|
|
<P>See our website <A HREF="http://www.tummy.com/xvscan/">http://www.tummy.com/xvscan/</A>
|
|
for a full list of supported scanners.
|
|
|
|
<P><U>What's New in Version 1.80</U>
|
|
<OL>
|
|
<LI>
|
|
Microtek ScanMaker E3 and E6 support</LI>
|
|
|
|
<LI>
|
|
HP ScanJet 5P push button scanning</LI>
|
|
|
|
<LI>
|
|
Updated JPEG and TIFF conversions</LI>
|
|
</OL>
|
|
The Linux version requires working generic SCSI driver. It has been tested
|
|
with versions 1.2.7 and higher of the kernel.
|
|
|
|
<P>The current version of XVScan is 1.80 dated 1998-06-11 based upon XV
|
|
version 3.10a dated 12/29/94.
|
|
|
|
<P>XVScan is $US50 for Linux, HP-UX, FreeBSD and BSD/OS for free ftp delivery.
|
|
XVScan is $US80 for Solaris bundled with SGLite SCSI driver. CD-ROM
|
|
Media $US20. Contact xvscan@tummy.com to order or order on the web at <A HREF="https://www.tummy.com/ordering/onlineorder.phtml">https://www.tummy.com/ordering/onlineorder.phtml.</A>
|
|
Payment accepted via check, Visa/Mastercard/Discover/AMEX cards.
|
|
|
|
<P>Contact tummy.com, ltd, phone: (970) 223-8215, fax: (408) 490-2728,
|
|
<BR>URL: <<A HREF="http://www.tummy.com/xvscan/">http://www.tummy.com/xvscan/</A>>
|
|
<BR>email: <<A HREF="mailto:xvscan@tummy.com">xvscan@tummy.com</A>>
|
|
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
<H2>
|
|
S.u.S.E. releases new X servers for Rendition, Cyrix, SiS and 3DLabs</H2>
|
|
S.u.S.E. is proud to announce the release of a new set of X servers for
|
|
several popular graphic chipsets.
|
|
|
|
<P>To avoid confusion and to clearly state that these servers are part
|
|
of XFree86, S.u.S.E. has changed the naming scheme of its servers. Instead
|
|
of the XSuSE prefix, they now use XFCom, which is short for XFree86 Compliant.
|
|
XFree86 compliance is intended to mean that the sources for these servers
|
|
are ALREADY part of the XFree86 development sources and will be released
|
|
as part of one of the next XFree86 releases. This is the major difference
|
|
to servers with the XBF prefix, which stands for X Binary Free and means
|
|
that sources for these servers are only available under NDA and therefore
|
|
cannot be included in XFree86.
|
|
|
|
<P>Following this naming scheme, we have renamed the XSuSE_Elsa_GLoria
|
|
server to XFCom_3DLabs and XSuSE_SiS to XFCom_SiS. Additionally, we have
|
|
added to new servers that support the very popular Rendition Verite chipsets
|
|
and the all-in-one Cyrix MediaGX CPU that includes graphics functionality.
|
|
|
|
<P><B><FONT COLOR="#993300">XFCom_Rendition</FONT></B> supports the Rendition
|
|
Verite V1000, V2100 and V2200 chips. Among the boards supported are
|
|
<UL>
|
|
<LI>
|
|
miroCRYSTAL VRX</LI>
|
|
|
|
<LI>
|
|
Diamond Stealth II S220</LI>
|
|
|
|
<LI>
|
|
Hercules Thriller3D</LI>
|
|
|
|
<LI>
|
|
Creative Labs 3D Blaster PCI</LI>
|
|
|
|
<LI>
|
|
Canopus Total-3D</LI>
|
|
|
|
<LI>
|
|
Sierra Screaming 3D</LI>
|
|
</UL>
|
|
<B><FONT COLOR="#993300">XFCom_Cyrix</FONT></B> supports the Cyrix MediaGX
|
|
CPU
|
|
|
|
<P>XFCom_SiS supports
|
|
<UL>
|
|
<LI>
|
|
SiS 6201</LI>
|
|
|
|
<LI>
|
|
SiS 6202</LI>
|
|
|
|
<LI>
|
|
SiS 6205</LI>
|
|
|
|
<LI>
|
|
SiS 5597</LI>
|
|
|
|
<LI>
|
|
SiS 5598</LI>
|
|
</UL>
|
|
<B><FONT COLOR="#993300">XFCom_3DLabs</FONT></B> supports
|
|
<UL>
|
|
<LI>
|
|
GLINT 500TX + GLINT Delta + IBM RGB 526DB</LI>
|
|
|
|
<UL>
|
|
<LI>
|
|
Elsa GLoria L</LI>
|
|
|
|
<LI>
|
|
Diamond Fire GL 3000</LI>
|
|
</UL>
|
|
|
|
<LI>
|
|
GLINT MX + GLINT Delta + IBM RGB 526DB</LI>
|
|
|
|
<UL>
|
|
<LI>
|
|
Elsa GLoria L/MX</LI>
|
|
</UL>
|
|
|
|
<LI>
|
|
Permedia + GLINT Delta + IBM RGB 526DB</LI>
|
|
|
|
<UL>
|
|
<LI>
|
|
Elsa GLoria S</LI>
|
|
|
|
<LI>
|
|
Diamond Fire GL 1000</LI>
|
|
</UL>
|
|
|
|
<LI>
|
|
Permedia 2</LI>
|
|
|
|
<UL>
|
|
<LI>
|
|
Elsa GLoria Synergy</LI>
|
|
|
|
<LI>
|
|
Elsa Winner 2000/Office</LI>
|
|
|
|
<LI>
|
|
Diamond Fire GL 1000 PRO</LI>
|
|
|
|
<LI>
|
|
Creative Blaster Exxtreme</LI>
|
|
|
|
<LI>
|
|
Leadtek WinFast 2300</LI>
|
|
|
|
<LI>
|
|
Accelstar Permedia II</LI>
|
|
</UL>
|
|
</UL>
|
|
All these servers are available as Linux x86 libc5 binaries at
|
|
<BR><A HREF="http://www.suse.de/XSuSE/XSuSE_E.html">http://www.suse.de/
|
|
XSuSE/XSuSE_E.html.</A>
|
|
|
|
<P>Binaries for other operating systems as well as glibc binaries will
|
|
be released, soon. For all questions and support concerning these
|
|
servers please do NOT contact XFree86 but send email to <A HREF="mailto:x@suse.de">x@suse.de</A>
|
|
instead.
|
|
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
|
|
<P> <!--
|
|
-- Did You Know Section
|
|
-->
|
|
<H4>
|
|
Did You Know?</H4>
|
|
A comment on IRTC-L stated:
|
|
<UL>As I understand, in a cinema, the width is twice as long as the height.</UL>
|
|
Bernd Sieker, regular contributer to the IRTC list, offered the following
|
|
responses:
|
|
<UL>No, that's not really true. The most commonly used formats are:</UL>
|
|
|
|
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 COLS=3 WIDTH="260" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE></TD>
|
|
|
|
<TD NOSAVE>Name</TD>
|
|
|
|
<TD>Aspect Ratio</TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD></TD>
|
|
|
|
<TD NOSAVE>Super 35</TD>
|
|
|
|
<TD>1:1.33</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD></TD>
|
|
|
|
<TD>Academy</TD>
|
|
|
|
<TD>1:1.37</TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD NOSAVE></TD>
|
|
|
|
<TD>Wide Screen</TD>
|
|
|
|
<TD>1:1.66</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD></TD>
|
|
|
|
<TD>Wide Screen</TD>
|
|
|
|
<TD>1:1.85</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD></TD>
|
|
|
|
<TD>16:9</TD>
|
|
|
|
<TD>1:1.77</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD></TD>
|
|
|
|
<TD>Cinemascope</TD>
|
|
|
|
<TD>1:2.35</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<UL>So most common cinama formats are not twice as wide as high, only Cinemascope
|
|
is more than twice as wide as it is high. But this format is not as common
|
|
as some people think. It requires a special aspherical distortion lens
|
|
on both the projector and the camera.
|
|
|
|
<P>As far as I remember the scenes for Jurassic Park were rendered in 8000x6000
|
|
(1:1.33), but often much less is sufficient, like 4000x3000.</UL>
|
|
Another question from the same list: What are NTSC and PAL?
|
|
|
|
<P>Again, Bernd Sieker supplies an answer:
|
|
<UL>These are the two most common colour encoding stamdards for television.
|
|
NTSC is used in the United States and, I think, Japan, PAL is used in most
|
|
parts of Western Europe (except France. There is a third standard, called
|
|
SECAM, which is used in France and parts of Eastern Europe.</UL>
|
|
|
|
<UL>PAL and SECAM use 50 fields/s (a field is half a frame), NTSC uses
|
|
60 fields/s and fewer lines, so the bandwidth of the signals is almost
|
|
equal in all formats (Something on the order of 5 MHz).
|
|
|
|
<P>For TV the horizontal resolution is not fixed, whereas the number of
|
|
lines is; use the following for sqaure pixel aspect ratio:
|
|
|
|
<P>PAL: 768x576
|
|
<BR>NTSC: 640x480
|
|
|
|
<P>Note that the number of lines are fixed and should not be altered, all
|
|
systems work with these values.
|
|
<BR> </UL>
|
|
<!--
|
|
-- Q and A Section
|
|
-->
|
|
<H4>
|
|
<B><FONT SIZE=+0>Q and A</FONT></B></H4>
|
|
<I>Q:</I> Anyone know how to set up an Wacom Artpad for use with
|
|
Gimp, or if this is possible. I think I have to use XInput or something.
|
|
<BR>
|
|
|
|
<P>A: <A HREF="mailto:juergen@callisto.fulda.net">Juergen Schlag</A>
|
|
responded:
|
|
<UL>A few months ago I tried to set up my Wacom PenPartner with X11.
|
|
You need to configure your system like the following:</UL>
|
|
|
|
<UL>
|
|
<LI>
|
|
run Linux with a X11 server which supports the Xinput Extension (my old
|
|
S3-Board running under the XFree-Server works well, but the XSuSE-Server
|
|
for PERMEDIA2-Boards doesn't work).</LI>
|
|
</UL>
|
|
|
|
<UL>
|
|
<LI>
|
|
install the Xinput driver for the Artpad (see the docs). I used a patched
|
|
driver for the PenPartner.</LI>
|
|
</UL>
|
|
<B><I><FONT COLOR="#993300">Muse</FONT></I></B>: What driver and
|
|
what docs? Anyone know what he meant by this?
|
|
<UL>
|
|
<LI>
|
|
edit the Xinput-Section of your /etc/XF86Config to load the driver when
|
|
X11 starts (see the man-pages for XF86Config and your X-server)</LI>
|
|
</UL>
|
|
|
|
<UL>
|
|
<LI>
|
|
recompile the GTK toolkit with the Xinput-support enabled. see the README
|
|
and INSTALL file for the command switch to do this.</LI>
|
|
</UL>
|
|
|
|
<UL>
|
|
<LI>
|
|
restart your computer, start X11 and Gimp. if no error message occured
|
|
your artpad should work well</LI>
|
|
</UL>
|
|
|
|
<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>
|
|
<A HREF="mailto:dmschmit@rasc-sparc.tamu.edu">Dan Schmitt </A>wrote:
|
|
<UL>The polyray site seems to have moved. It now seems to live at:
|
|
<BR><A HREF="http://www.inf.fu-berlin.de/tec/software/public/public_html/grafik/polyray.html">http://www.inf.fu-berlin.de/tec/software/
|
|
public/public_html/grafik/polyray.html</A></UL>
|
|
<A HREF="mailto:mbeast@tls.com">Michael B. East</A> wrote:
|
|
<UL>Check out the new home page for sceda, now called sceda II! Let me
|
|
know what you think!
|
|
<BR>It's at <A HREF="http://www.tls.com/mbeast">www.tls.com/mbeast.</A></UL>
|
|
<A HREF="mailto:spm@arpc65.arm.ac.uk">Scott Manley </A>wrote:
|
|
<UL>You might be interested to add this little programm to your list of
|
|
Unix 3D graphics utilities - it generates fractal asteroids using a few
|
|
parameters given to it on the command line.
|
|
<BR><A HREF="http://star.arm.ac.uk/~spm/asteroid_impact/gen_asteroid.c">http://star.arm.ac.uk/~spm/
|
|
asteroid_impact/gen_asteroid.c</A></UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: Thanks for the
|
|
pointers guys!
|
|
<BR>
|
|
<BR><A HREF="mailto:smartin@usit.net">Steve Martin </A>wrote me about some
|
|
information in the Linux Graphics mini-Howto:
|
|
<UL>Regarding the page <A HREF="http://www.graphics-muse.org/linux/lgh.html">http://www.graphics-muse.org/linux/lgh.html</A>,
|
|
in the section <B>Creation Tools,</B> you mention that:</UL>
|
|
|
|
<UL>
|
|
<UL>"If you wish to write shaders in BMRT, you really need The Renderman
|
|
Companion book by Steve Upstill which is available from Addison Wesley.
|
|
This text also describes the RIB format. Shaders in BMRT are just
|
|
text files written in the Renderman Shading Language (described in the
|
|
book - it's a subset of C); the shader is run through the BMRT shader compiler
|
|
"slc" and then it can be used in your renderings."</UL>
|
|
I would point out a couple of inaccuracies if I may. First, Mr. Upstill's
|
|
book completely ignores the RIB format; he concentrates exclusively on
|
|
the procedural binding (i.e. the C-language API). Secondly, regarding
|
|
the Renderman Shading Language, Mr. Upstill writes:
|
|
<BR>
|
|
<UL>"The most obvious characteristic of this shader is a superficial resemblance
|
|
to a function in the C programming language."...
|
|
<BR>"This makes the shading language easier to learn, but one must beware
|
|
of assuming the shading language is C."</UL>
|
|
</UL>
|
|
|
|
<UL>The text makes it clear that, while there are some syntactic similarities
|
|
between the two languages, the RSL is *not* a "subset of C".</UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: You are completely
|
|
correct. I stand corrected.
|
|
<UL>Finally, I would recommend that anyone wanting to learn to write shaders
|
|
for Renderman read, in addition to the Renderman Companion, <I><U>Texturing
|
|
and Modelling: A Procedural Approach</U></I> by David S. Ebert et
|
|
al. It is a much more thorough and intensive work on procedural texturing
|
|
than is RC, and uses examples written almost exclusively in the Renderman
|
|
Shading Language.</UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: It is indeed.
|
|
I've got that text. It's not an easy read, but it's certainly a thorough
|
|
coverage of the subject.
|
|
<UL>Hope this helps. Keep up the good work.</UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: It does help.
|
|
Thanks for clearing this up. I intend on doing a complete rewrite
|
|
of the LGH soon, but I don't know when it will be complete.
|
|
|
|
<P><A HREF="mailto:raanders@altoplanos.net">Roderick A. Anderson</A> asked
|
|
about converting GIF's to interlaced GIF's.
|
|
<UL>Are there any programs that run on a Linux platform to convert GIFs
|
|
to an interlaced format? Free first (of course),then commercial,
|
|
then</UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: NetPBM, I think.
|
|
ImageMagick may also do so. A commercial package is Image Alchemy,
|
|
but it's priced for corporate use and not so much for individual use (I
|
|
think - it's been awhile since I checked).
|
|
<UL>hostageware or some variation. I've been too busy to upgrade
|
|
my system to RedHat Linux 5.0 (semester is almost over soon) so I haven't
|
|
been able to try a recent version of gimp. (The version I have is less
|
|
powerful then xpaint.)</UL>
|
|
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>: Boy, that's an old
|
|
version. If you have time try the 1.0 version from <A HREF="http://www.gimp.org">www.gimp.org</A>.
|
|
You'll need to grab the GTK 1.0 libs first - <A HREF="http://www.gtk.org">www.gtk.org</A>.
|
|
The Gimp can read in non-interlaced GIF's and convert them to interlaced.
|
|
It's pretty easy to do.
|
|
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
<BR><A NAME="webwonderings"></A>
|
|
<BR><IMG SRC="../gx/hammel/webwonderings.jpg" HEIGHT=57 WIDTH=246>
|
|
<H1>
|
|
Building dynamic web pages</H1>
|
|
Recently I started a complete rewrite of my web site, <A HREF="http://www.graphics-muse.org">graphics-muse.org</A>.
|
|
This is the 5th time I've done this over the past 5 years although I haven't
|
|
had my own domain that long. This rewrite comes from the obvious
|
|
need to make the my graphics resources searchable and easier to update.
|
|
So, I've had to add a database and learn to create dynamic pages.
|
|
The database part is easy - I'm going to use <A HREF="http://www.Hughes.com.au/">msql</A>.
|
|
I've used it for a few simple databases at home and it's quite sufficient
|
|
for my relatively simple needs. Dynamic pages are something new,
|
|
however. And for this, I need to step into the world of <A HREF="http://www.perl.com">Perl</A>.
|
|
|
|
<P>I used to pride myself on the number of languages I had taught myself
|
|
over the years. In recent times, however, I've found myself falling
|
|
behind the curve, having grown comfortable and satisfied with C.
|
|
Although I still think C suffices for most projects I realize that I need
|
|
to move on to newer, object oriented, languages. I hate C++.
|
|
I've done a little work with it and it's just a perversion of C in my eyes.
|
|
Java is my long term goal, primarily because I make a living doing graphical
|
|
interfaces and Java is the future for people like me. Perl, on the
|
|
other hand, is simply the tool of choice for the Web. I didn't want
|
|
to learn yet another scripting language, but it's hard to avoid if I'm going
|
|
to try to do Web developement. So, Perl it is.
|
|
|
|
<P>Fortunately, creating dynamic Web pages with Perl turns out to be pretty
|
|
simple. A perl module called, conveniently, Msql allows me easy access
|
|
to my databases and the CGI.pm module makes generation of HTML a breeze.
|
|
Both the msql database and CGI.pm have printed texts available so learning
|
|
both is a bit easier than the traditional man-page browsing with which
|
|
I've grown up. We'll take a look at how we can use both the Msql
|
|
and CGI.pm modules to create a very simple dynamic page.
|
|
|
|
<P>This discussion does not expect you to understand how to program in
|
|
perl, but it would help. We're going to step through the process
|
|
without going into huge detail here. Also, when I talk about the
|
|
database I'll use lowercase - msql - but when I talk about the perl module
|
|
I'll use uppercase - Msql. You should, however, be a little familiar
|
|
with how SQL statements look, or at least not be afraid of looking at them.
|
|
What we'll use in this example is pretty basic and you should be able to
|
|
interpret what's going on from the code and the explanations.
|
|
|
|
<P>First, what tools do you need for this experiment?
|
|
<UL>Perl 5.003 patchlevel 7 or higher
|
|
<BR>msql 1.0.x
|
|
<BR>CGI.pm 2.38
|
|
<BR>The Msql module</UL>
|
|
These just happen to be the versions I installed on the server that hosts
|
|
my domain. I don't know what the version of the Msql module is, but
|
|
you can find it on a <A HREF="http://www.perl.com/CPAN/">CPAN</A> mirror.
|
|
Apparently if you have perl 5.004 you already have CGI.pm (it's part of
|
|
the standard distribution since 5.004). If not you'll need to grab
|
|
the module from one of the CPAN mirrors. CPAN is the Comprehensive
|
|
Perl Archive Network and is where you can find all sorts of modules for
|
|
use with Perl. Modules are extensions to perl. The CGI.pm module
|
|
allows you to use methods and functions to generate HTML output in a CGI
|
|
script. Similarly, the Msql module allows you methods for accessing
|
|
an msql database. The current version of the msql database is 2.0.x,
|
|
but this seemed to have some problems when I tested simple inserts on a
|
|
Solaris box, so I'm working with the more stable 1.0.x version, which happens
|
|
to be what's on my server anyway.
|
|
|
|
<P>Ok, now let's create a simple database. Make sure the msql database
|
|
is installed properly (follow the directions with the package - it's pretty
|
|
straightforward to build and install). Start the database daemon:
|
|
<UL><B><FONT FACE="Times New Roman,Times">% msqld&</FONT></B></UL>
|
|
Next you need to create an empty database, which we'll call "muse".
|
|
Use the msqladmin command for this:
|
|
<UL><B><FONT FACE="Times New Roman,Times">% msqladmin create muse</FONT></B></UL>
|
|
We can now use the msql monitor to interactively add a table and populate
|
|
the table, but let's do this the easy way. We'll create a text file
|
|
with the commands and then feed it to the monitor in batch mode.
|
|
The text file looks like this (including comments):
|
|
<UL><TT><FONT SIZE=-1># drop existing table. If it doesn't exist,
|
|
msql will basically ignore this.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>drop table tools</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>\g</FONT></TT>
|
|
|
|
<P><TT><FONT SIZE=-1># Create a new table in the database</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>create table tools (</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> tooltype int
|
|
not null,
|
|
# 0: hand tool; 1: power tool</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> toolname char(255)
|
|
not null
|
|
# name of the tool</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>)</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>\p\g</FONT></TT>
|
|
|
|
<P><TT><FONT SIZE=-1># Insert a few entries into the table</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>insert into tools values (0, 'hammer') \g</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>insert into tools values (0, 'screwdriver') \g</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>insert into tools values (1, 'table saw') \g</FONT></TT></UL>
|
|
Save this to a file called "t<A HREF="tools.msql">ools.msql</A>".
|
|
The filename is arbitrary. The "\p" and "\g" tell the monitor to
|
|
print the command as its run and to actually run the command, respectively.
|
|
Note that the text names are enclosed in single, not double, quotes!
|
|
You can feed this to the monitor using the following command:
|
|
<UL><B><FONT FACE="Times New Roman,Times">% msql muse < tools.msql</FONT></B></UL>
|
|
It's a simple database, but this is a simple example. Now let's build
|
|
a CGI script using perl that will display a couple of tables, one of which
|
|
will contain the entries from the database. The first thing is to
|
|
tell the script to use perl5 and to load the Msql and CGI.pm modules:
|
|
<UL><TT><FONT SIZE=-1>#!/usr/bin/perl5</FONT></TT>
|
|
|
|
<P><TT><FONT SIZE=-1># Import modules of interst.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>use CGI qw/:standard :html3 :netscape/;</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>use Msql;</FONT></TT></UL>
|
|
The location of your perl5 binary may be different, so check that first.
|
|
The stuff after "use CGI" tells perl which functions from CGI to load.
|
|
In this case we're loading the standard functions, plus the HTML3 and netscape
|
|
extensions. There are multiple methods for specifying these extensions.
|
|
You'll need to check the Perl or CGI.pm documentation (see end of this
|
|
article) for details on how to use a different syntax.
|
|
<UL><TT><FONT SIZE=-1># print out the HTML HEAD section</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>print header,</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> start_html(</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> -author=>'webmaster@graphics-muse.org',</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> -title=>'My Little
|
|
Tools',</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> -bgcolor=>'#FFFFFF',
|
|
-text=>'#000000'</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> );</FONT></TT></UL>
|
|
This prints out the <HEAD> section for you. Just modify the author
|
|
and title lines to suite your needs. Next comes our connection to
|
|
the msql database:
|
|
<UL><TT><FONT SIZE=-1># Open the Msql connections and select the databases
|
|
of interest.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>my $dbh1 = Msql->connect();</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>$dbh1->selectdb('muse');</FONT></TT></UL>
|
|
The first line after the comment assigns a database handle to the variable
|
|
dbh. The next line use the selectdb() method to access the database
|
|
named "muse". Pretty simple, eh? You can specify a remote host
|
|
in the connect() method in the first line. You can also specify the
|
|
name of the database there. But I think explicitly calling them out
|
|
like this makes the code a little easier to maintain for someone who might
|
|
come along later and not quite understand what was going on.
|
|
|
|
<P>Ok, you've opened the connection to the database. Let's grab the
|
|
tools table entries.
|
|
<UL><TT><FONT SIZE=-1>my $sth = $dbh1->query("SELECT * from tools");</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>my @rows;</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>my @result;</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>while (@result = $sth->fetchrow)</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>{</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> push( @rows, td({-align=>'CENTER', -valign=>'CENTER'},
|
|
$result[1]) );</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>}</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>my $tools_list =</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> table( {-border=>1, -cellpadding=>'1',
|
|
-cellspacing=>'5'},</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> Tr(@rows)</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> );</FONT></TT></UL>
|
|
Looks a little confusing, but it's not really. The first line assigns
|
|
a handle from the SELECT statement to the variable sth. The handle
|
|
is used to access each row of the table that matched the SELECT query.
|
|
In this case, the query() method selected all rows from the table "tools".
|
|
If we had opened another database (besides the "muse" database) we would
|
|
have used a different database handle, such as dbh2, instead. Of
|
|
course we would have had to selected that database with the selectdb()
|
|
method like we did with dbh1 earlier.
|
|
|
|
<P>The next two lines just define the variables rows and result to be local.
|
|
However, these variables will both be list variables. Lists are special
|
|
in perl - you can access all the entries in the list using the @ symbol
|
|
as a prefix, or you can access individual elements of the list by prefixing
|
|
the variable name with a $ symbol and using an array element number.
|
|
We'll see examples of both in a moment.
|
|
|
|
<P>The next 4 lines are a while() loop that process each row returned from
|
|
our SELECT query. The fetchrow() method is used to assign the current
|
|
row to the @result list. A row, of course, consists of two entries:
|
|
the tooltype and the toolname. The push() line says to append
|
|
the following to the @rows list:
|
|
<UL><TT><FONT SIZE=-1>td({-align=>'CENTER', -valign=>'CENTER'}, $result[1])</FONT></TT></UL>
|
|
The @rows list is empty to start, so each time through we're adding a new
|
|
entry to the list. Each entry is the CGI.pm modules code for specifying
|
|
a table element. The stuff between the curly braces are the table
|
|
element arguments. After that comes a list of what goes into the
|
|
element. In this case, you get the tools name - $result[1].
|
|
Remember we assigned the current table row to the @result list, and we're
|
|
accessing an element of that list by using the $ prefix and an array index.
|
|
The index always starts at 0, so an index of 1 means the second element
|
|
of the list. What happens after this while() loop is run is that
|
|
you have a list of table elements with all the tools names in them.
|
|
We'll be using these when we create a table in just a moment.
|
|
|
|
<P>Below the while() loop is another local variable, tools_list.
|
|
This variable will be used to output a table in our page. The table()
|
|
function comes from CGI.pm and is used to generate a table. Note
|
|
that neither this nor the td() functions in the while() loop have actually
|
|
been output yet. We're just storing these in variables for later
|
|
output. Again, the curly braces enclose arguments for the table HTML
|
|
tag. After that is another embedded CGI.pm function - Tr().
|
|
This function has an uppercase first letter only because perl has its own
|
|
"tr" function and there needs to be a distinction between the two.
|
|
In most cases, the CGI.pm functions will use lowercase only. The
|
|
Tr() function creates a table row. Embedded within this is are all
|
|
the table elements we stuffed into the @rows list. Still with me?
|
|
Great! All that's left is to output this back to the browser.
|
|
<UL><TT><FONT SIZE=-1># Now print the complete table</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>print</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> center(</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> table(</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> {-border=>1, -width=>'100%',
|
|
-cellpadding=>1, -cellspacing=>5},</FONT></TT>
|
|
|
|
<P><TT><FONT SIZE=-1> Tr(</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>
|
|
td({-align=>'CENTER', -valign=>'CENTER'}, $tools_list),</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> )</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1> )</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>);</FONT></TT>
|
|
|
|
<P><TT><FONT SIZE=-1># End of HTML output.</FONT></TT>
|
|
<BR><TT><FONT SIZE=-1>print end_html;</FONT></TT></UL>
|
|
The print() command is from perl. It just prints to standard output,
|
|
which is what you want for CGI scripts. The center() function comes
|
|
from CGI.pm and will center the following table. The table() function
|
|
comes from CGI.pm also. We've already created a table earlier, in
|
|
our $tools_list variable. Now we're going to embed that earlier table
|
|
inside another table. We define the new tables arguments, followed
|
|
by a single table row (Tr()) and a single element in which we add the $tools_list
|
|
table.
|
|
|
|
<P>Save all this to a file called <A HREF="web.pl">web.pl</A> in your cgi-bin
|
|
directory on your web server. Make sure the script has execute permissions.
|
|
You can see this little scripts output by accessing <A HREF="http://www.graphics-muse.org/cgi-bin/web.pl">www.graphics-muse.org/cgi-bin/web.pl.</A>
|
|
It's not much, but it shows how easy it is to integrate a little bit of
|
|
database info into a web page. For what it's worth, it only took me
|
|
about 2 days to get all this down, mostly by experimenting with examples
|
|
in the printed texts. It would have been quicker, but I did
|
|
it at work and ducking from coworkers took most of my time.
|
|
|
|
<P>Speaking of documentation, the texts you want are
|
|
<UL>
|
|
<LI>
|
|
<I><U>Offical Guide to Programming with CGI.pm</U></I> by Lincoln Stein,
|
|
published by Wiley Press.</LI>
|
|
|
|
<LI>
|
|
<I><U>Official Guide to MiniSQL 2.0</U></I> by Briand Jepson and David
|
|
J. Hughes, by Wiley Press.</LI>
|
|
</UL>
|
|
The msql guide is applicable to the 2.0 release, but I found it useful
|
|
for a refresher on using msql. If you need 1.0.x documentation, you
|
|
can check out the <A HREF="http://www.Hughes.com.au/">msql web site.</A>
|
|
<BR>
|
|
|
|
<P>
|
|
<HR WIDTH="100%">
|
|
|
|
<P><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="../images/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<H2>
|
|
<A NAME="xserver"></A></H2>
|
|
|
|
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 COLS=3 WIDTH="100%" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD VALIGN=TOP ROWSPAN="3" WIDTH="50%" NOSAVE>
|
|
<H2>
|
|
Gimp 1.0</H2>
|
|
For those of you who have been
|
|
<OL>
|
|
<LI>
|
|
living under a rock</LI>
|
|
|
|
<LI>
|
|
tied up and held captive by aliens</LI>
|
|
|
|
<LI>
|
|
or changing your oil for the past 3 months</LI>
|
|
</OL>
|
|
I have news for you: <B><FONT COLOR="#CC6600">Gimp 1.0</FONT></B>
|
|
has been released. The announcement came back on June 5th.
|
|
Since I haven't done a 'Muse column since April perhaps you missed it.
|
|
For some reason the trumpets didn't seem to blare as loud as I expected
|
|
they might when the announcement hit the mailing lists and comp.os.linux.announce.
|
|
I guess I expected more fanfare. Maybe there was and I missed it.
|
|
I was changing my oil for a while back then, too. Or maybe that was
|
|
the month I was with the aliens. It's been a long summer.
|
|
|
|
<P>As I mentioned at the top of this column (you know, the part you probably
|
|
don't read each month), I've spent the last year working on a book on the
|
|
Gimp. <A HREF="http://www.ssc.com">SSC</A>, the publishers of the
|
|
<A HREF="http://www.linuxjournal.com">Linux Journal</A> and the host of
|
|
the <A HREF="http://www.linuxgazette.com">Linux Gazette</A>, had contacted
|
|
me in June of 1997 about the possibility of doing the book. I thought
|
|
it was a great idea, so I jumped into it. The hard part has been
|
|
trying to keep the work up to date. Much of the writing had to wait
|
|
till there was some light at the end of the 1.0 development tunnel.
|
|
Not suprisingly, the past 3 months I've been buried in updates and last
|
|
minute details. This has been the longest last minue of my life.
|
|
|
|
<P>But I'm fairly happy about the book. It will be printed in 4-color
|
|
on glossy paper and there are lots of images and examples. There
|
|
is also a CD which will include all the images from the book, plus lots
|
|
of other good stuff. There are some things I didn't get in because
|
|
there just wasn't any time left. They'll have to wait for the next
|
|
edition or for articles in the Linux Journal. Or maybe in the 'Muse.
|
|
Anyway, one year is plenty for the first edition.
|
|
|
|
<P><A HREF="http://www.gimp.org">Gimp 1.0</A> source actually comes in
|
|
three packages: the core distribution, the extras package, and the
|
|
unstable package. The core and extras package build and install fairly
|
|
easy. The unstable package includes a number of very handy plug-ins
|
|
but you have to understand how to build them a little more than the core
|
|
and extras packages.
|
|
|
|
<P>Some of the more interesting features of the 1.0 release include a rather
|
|
good Print plug-in that can work with a number of HP and Epson printers
|
|
directly and also supports Postscript output. So you can print directly
|
|
to a postscript capable printer or run the output through Ghostscript.
|
|
<CENTER><A HREF="#next-column">-Top of next column-</A></CENTER>
|
|
</TD>
|
|
|
|
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG SRC="../images/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
|
|
<TD WIDTH="49%" NOSAVE><LH><A NAME="next-column"></A><B>More Musings...</B> </LH>
|
|
|
|
<P>No more musing this month.</TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD BGCOLOR="#000000" NOSAVE><IMG SRC="../images/cleardot.gif" HEIGHT=2 WIDTH=2><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
|
|
</TR>
|
|
|
|
<TR NOSAVE>
|
|
<TD VALIGN=TOP NOSAVE>Another great Plug-in is the GFig plug-in, which
|
|
allows you some limited drawing capabilities. You can draw circles,
|
|
curves, boxes and other shapes, repositions them, render them on separate
|
|
layers using any brush shape and color. The interface is a bit clunky,
|
|
but it's still an improvement on the default drawing tools.
|
|
|
|
<P>Other recent improvements over older development releases include:
|
|
<UL>
|
|
<LI>
|
|
runtime configuration via the Preferences dialog</LI>
|
|
|
|
<LI>
|
|
a Netscape interface to access online resources</LI>
|
|
|
|
<LI>
|
|
a better menu organization</LI>
|
|
|
|
<LI>
|
|
frequently used layer functions accessible via buttons now</LI>
|
|
|
|
<LI>
|
|
lots of Script-Fu scripts</LI>
|
|
</UL>
|
|
The Gimp has gotten quite a bit of press recently, including some blurbs
|
|
in the online version of Publish magazine and on NPR (National Public Radio).
|
|
Check Zach's <A HREF="http://xach.dorknet.com/gimp/news/">Gimp News</A>
|
|
site for more information on these.
|
|
|
|
<P>There are still a few things that need work, not the least of which
|
|
is support for more color models. But this has been discussed at
|
|
length on the developers list and a few people appear to be working on
|
|
it, at least to some extent, for the 1.2 release. The Gimp will have
|
|
a numbering scheme like the Linux kernel, where even numbers are public
|
|
releases and odd numbers are developers releases. Currently, the
|
|
1.0.4 version is the latest public release. There is a 1.1
|
|
|
|
<P>I intend to focus more of my energies towards the Gimp from now on.
|
|
The 'Muse columns future depends on some discussions I'm having with SSC
|
|
about another project, but for now it's just discussion. In any case,
|
|
after all this time, I finally plan on working on some plug-ins and scripts.
|
|
Since 1.0 is out, I can't whine about not having a stable version anymore.
|
|
I'll be hanging out on the Gimp-User mailing list trying to help out there.
|
|
With 1.0 out, it's time for the user community to show what can be done
|
|
with the tools.
|
|
<BR>
|
|
<BR>Besides, maybe we have another Gimp-based <A HREF="http://www.sirius.com/~fenster/">Diane
|
|
Fenster</A> out there.
|
|
<BR>
|
|
<BR> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><IMG SRC="../images/cleardot.gif" HEIGHT=2 WIDTH=2></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<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>
|
|
|
|
<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.digiserve.com/ar/linux-snd/">Linux Multimedia 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:
|
|
<BR>As usual, I'm not sure exactly what will be covered next month.
|
|
My next major project is a rewrite of my graphics-muse.org web site so
|
|
you can expect I'll probably have something for Web Wonderings. POV-Ray
|
|
3.0 is out in beta, I hear. Anyway, we'll see which way the winds
|
|
blow by the end of August.
|
|
|
|
<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>
|
|
<P><HR><P>
|
|
<center><H5>Copyright © 1998, Michael J. Hammel <BR>
|
|
Published in Issue 31 of <i>Linux Gazette</i>, August 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="./roelofs.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="./dibona.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
<!--startcut ==========================================================-->
|
|
</BODY>
|
|
</HTML>
|
|
<!--endcut ============================================================-->
|