old-www/LDP/LG/issue25/gm.html

1207 lines
55 KiB
HTML

<!--startcut ==========================================================-->
<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>
<!- -===================================================================-->
&nbsp;
<!-- =============================================================
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 -->&nbsp;<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.&nbsp;
I've fixed the Muse to expand to fill the aviailable space!</FONT></CENTER>
<CENTER><FONT SIZE=-2>&copy; 1998 by <A HREF="mailto:mjhammel@fastlane.net">mjh</A>&nbsp;</FONT></CENTER>
</TD>
</TR>
</TABLE>
&nbsp;
<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" USEMAP="#nav-main" HEIGHT=200 WIDTH=185 ALIGN=LEFT></TD>
<TD VALIGN=TOP><B><FONT SIZE=+1>muse:</FONT></B>&nbsp;
<OL>
<LI>
<I>v;</I> to become absorbed in thought&nbsp;</LI>
<LI>
<I>n;</I> [ fr. Any of the nine sister goddesses of learning and the arts
in Greek Mythology ]: a source of inspiration&nbsp;</LI>
</OL>
&nbsp;<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.&nbsp;
<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>
&nbsp;
<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>&nbsp;
<BR>The past two months have been quite busy for me.&nbsp; First, I&nbsp;moved
from Denver to Dallas.&nbsp; Yes - on purpose.&nbsp; I&nbsp;grew up in
Texas and have many friends here.&nbsp; I&nbsp;loved Colorado - it's a beautiful
state - but I wasn't much of a cold weather fan and winters there could
get chilly.&nbsp; More importantly, I missed my friends.&nbsp; Hey, geeks
need friends too.<IMG SRC="./gx/hammel/orb.jpg" HSPACE=5 VSPACE=5 BORDER=2 HEIGHT=279 WIDTH=210 ALIGN=RIGHT>
<BR>&nbsp;&nbsp; So I'm back in Dallas now.&nbsp; The move went well up
until I&nbsp;started to set my computers back up.&nbsp; First, and before
I got the other systems unpacked, I blew the monitor on my laptop (aka
"kepler").&nbsp; I&nbsp;have no idea what happened.&nbsp; It's just dead.&nbsp;
Sigh.&nbsp; Thats now an $1800 doorstop unless I can get NEC&nbsp;to fix
it for a reasonable price.&nbsp; Suprisingly, I wasn't put off by this.&nbsp;
I&nbsp;started to get my main systems unpacked.&nbsp; The first thing I&nbsp;did
was to bring up my primary system - "feynman", the one I do all my real
work on.&nbsp; I&nbsp;plugged it in, turned it on.&nbsp; It sprang to life
just as always.&nbsp; Then, 15 minutes later - power spike.&nbsp; You see,
this is a brand new apartment complex.&nbsp; No one had ever lived here
before.&nbsp; Apparently no one had ever plugged anything in here either.&nbsp;
That burnt plastic smell you've noticed was my Cyrix CPU&nbsp;and PCI&nbsp;chipset
waving bye bye.&nbsp; $400 more.&nbsp; I&nbsp;really need a cheaper hobby.&nbsp;
Anyway, things are finally back up and running.&nbsp; More imporantly,
it's all stable.&nbsp; Through it all my Linux OS has performed fine.&nbsp;
It's the hardware that keeps kicking up dirt.&nbsp; So much for commodity
items.
<BR>&nbsp;&nbsp; Once life settled back to normal I got back down to business.&nbsp;
I&nbsp;had spent about a month away from serious nerd time during the move
and was feeling pretty refreshed.&nbsp; Translated that means I should
have gotten my writing responsibilities done with immediately. Instead
I&nbsp;started playing around with the PalmPilot my brother gave me for
Christmas.&nbsp; It wasn't a new one - I think he had it for about a year
- but it's in perfect condition.&nbsp; He knew I'd found some info on using
it with Linux previously and had mentioned that if I were to get a PDA&nbsp;(Personal
Digital Assistant), it would be the Pilot.&nbsp; Well, I got one.&nbsp;
And it's cool (no, not "kewl" - cool, as in "I'm over 30 now").&nbsp; And
the tools available for Unix systems and the Pilot work great.&nbsp; So
great I wrote an article about it.&nbsp; Keep an eye out in a future LJ
for it.&nbsp; It's cool.
<BR>&nbsp;&nbsp; I also took on another programming task.&nbsp; I&nbsp;decided,
for no particular reason I can think of, to begin scanning the bowels of
Gtk and to port my XPostitPlus (aka <I>computer sticky notes</I> for the
3M&nbsp;impaired) to a new widget set.&nbsp; I really enjoyed it, mostly
because the port was very straight forward.&nbsp; Gtk is quite easy to
use.&nbsp; More so than Motif, although Gtk still has a way to go to be
as feature rich (mostly, it's missing simple convenience tools - or perhaps
they are there and I&nbsp;just missed them).&nbsp; Anyway, I spent way
to much time on that.&nbsp; Planning new features, testing some neat ideas.&nbsp;
Way too long.
<BR>&nbsp;&nbsp; Which leads me to this months column.&nbsp; It's nearly
midnight on January 29th.&nbsp; I promised I would upload this issue by
tonight.&nbsp; And I still wanted to do a section on XeoMenu, a Java-based
menuing system from JavaSoft.&nbsp; Guess that's not going to happen.&nbsp;
On the bright side - I know what I can do for the Web&nbsp;Wonderings section
next month.
<BR>&nbsp;&nbsp;&nbsp; In this months column I'll be covering that nifty
logo machine, Font3D, along with its sidekick XFont3D.&nbsp; Both are
terrific tools.&nbsp; XFont3D is a fairly decent front end to Font3D which
you'll want to look at if you get seriously involved with creating 3D&nbsp;logos.&nbsp;
For this month, you'll want to view the Muse in something wider than 640
pixels.&nbsp; Sorry, but to get the images in required a little extra width.
<BR>&nbsp;&nbsp;&nbsp; Hopefully your holidays (if you had any) were good
and you're ready to get back into the fun stuff again.&nbsp; I&nbsp;know
I&nbsp;am.&nbsp; Hey, I&nbsp;even got approached about possibly being a
series editor for a set of Linux-related books.&nbsp; Gee, I wonder what
topic I should emphasize....
<BR><A NAME="mews"></A>
<BR>&nbsp;
<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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;
<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>
Play Video CDs with MpegTV Player</H2>
<B><FONT COLOR="#CC6600">MpegTV</FONT></B> is happy to announce that is
it now possible to play Video-CD's (VCD's) on Linux-x86 systems with <B><I><FONT COLOR="#CC6600">MpegTV
Player 1.0</FONT></I></B> and <B><I><FONT COLOR="#CC6600">xreadvcd</FONT></I></B>.&nbsp;
<P><FONT COLOR="#000000">MpegTV Player 1.0</FONT> is shareware (US$ 10)
for personnal and non profit use only. Commercial licenses are required
for commercial or governmental use.&nbsp; <FONT COLOR="#000000">xreadvcd</FONT>
is a free utility developped by Ales Makarov (source code available).&nbsp;
<P>For information and to download MpegTV Player and xreadvcd:&nbsp;
<BR><A HREF="http://www.mpegtv.com/download.html">http://www.mpegtv.com/download.html</A>&nbsp;
<P>To receive announcement of new MpegTV product releases you can subscribe
to our mailing list:&nbsp;
<BR><A HREF="http://www.mpegtv.com/mailing.html">http://www.mpegtv.com/mailing.html</A>&nbsp;
<P>Contact information: <A HREF="mailto:info@mpegtv.com">mailto:info@mpegtv.com</A>&nbsp;
<BR>MpegTV website:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="http://www.mpegtv.com">http://www.mpegtv.com</A></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>
Xi Graphics announes Virge GX/2 support</H2>
<B><FONT COLOR="#CC6600">Xi Graphics, Inc.</FONT></B> announces support
for the <B>Virge GX/2 </B>in their <B><I><FONT COLOR="#CC6600">Accelerated-X
Display Server v4.1</FONT></I></B> for Linux, FreeBSD, BSD/OS, Sun Solaris/86,
Interactive, Unixware, and SCO OpenServer V.&nbsp; XiG has full 2D acceleration
in all color depths and resolutions.&nbsp; XiG also supports hardware gamma
correction.&nbsp;
<P>For current users of Accelerated-X Display Server v4.1 there is now
an update_4100.016 on their FTP site which contains new support for the
Virge GX/2 (AGP &amp; PCI) video cards, this update includes specific support
for the <B>Number9 Reality 334</B> video card. The update also contains
enhanced support for the previous Virge GX and DX video cards.&nbsp;
<P>For a demo of the Accelerated-X Display Server v4.1 download the demo
and these updates:&nbsp;
<P><A HREF="ftp://ftp.xig.com/pub/update/update_4100.016.tar.gz">ftp://ftp.xig.com/pub/update/</A>&nbsp;
<BR><A HREF="ftp://ftp.xig.com/pub/update/update_4100.016.tar.gz">&nbsp;&nbsp;
update_4100.016.tar.gz</A>&nbsp;
<BR>and&nbsp;
<BR><A HREF="ftp://ftp.xig.com/pub/update/update_4100.016.txt">ftp://ftp.xig.com/pub/update/</A>&nbsp;
<BR><A HREF="ftp://ftp.xig.com/pub/update/update_4100.016.txt">&nbsp;&nbsp;
update_4100.016.txt</A>&nbsp;
<BR>are the two files required to get this support.&nbsp; The update_4100.016.txt
file has installation details.&nbsp;
<P>If you have a graphic card with troubled support contact XiG. They may
have a server that fixes your problems.&nbsp;
<BR><A HREF="http://www.xig.com">Xi Graphics, Inc.&nbsp;</A> 800.946.7433&nbsp;
303.298.7478</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>
TrueType to Postscript font converter</H2>
Andrew Weeks has written a program to convert True Type fonts to Postscript,
so Linux users can use the TT fonts that come with Windows.&nbsp;
<P>See <A HREF="http://www.bath.ac.uk/~ccsaw/fonts/">http://www.bath.ac.uk/~ccsaw/fonts/</A>&nbsp;
<BR>Comments/Problems to:&nbsp;
<BR>Andrew Weeks&nbsp;
<BR>Bath Information &amp; Data Services&nbsp;
<BR>University of Bath&nbsp;
<BR>email: <A HREF="mailto:A.Weeks@bath.ac.uk">A.Weeks@bath.ac.uk</A>&nbsp;
<BR>&nbsp;</TD>
<TD>
<H2>
OpenGL Widget for Gtk</H2>
<B><I><FONT COLOR="#CC6600">gtkGL</FONT></I></B> version 0.2 is a function/object/widget
set to use OpenGL easily with GTK. gtkGL includes gdkGL; GLX wrapper.&nbsp;
<P>List of current archives appears to be at&nbsp;
<BR><A HREF="http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html">http://www.sakuranet.or.jp/~aozasa/shige/</A>&nbsp;
<BR><A HREF="http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html">&nbsp;&nbsp;
doc/comp/gtk/gtkGL/files-en.html.</A>&nbsp;
<BR>The current version appears to be&nbsp;
<BR><A HREF="http://www.sakuranet.or.jp/~aozasa/shige/dist/gtkGL-0.3.tar.gz">http://www.sakuranet.or.jp/~aozasa/shige/</A>&nbsp;
<BR><A HREF="http://www.sakuranet.or.jp/~aozasa/shige/dist/gtkGL-0.3.tar.gz">&nbsp;&nbsp;
dist/gtkGL-0.3.tar.gz</A>&nbsp;
<P>
<HR WIDTH="100%">
<H2>
MindsEye mailing list archives</H2>
<A HREF="http://mailarchive.luna.nl/mindseye/">http://mailarchive.luna.nl/mindseye/</A>&nbsp;
<BR>&nbsp;</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>
Freedom VR 2, a Quicktime VR viewer</H2>
Paul A. Houle announces the release of <B><I><FONT COLOR="#CC6600">Freedom
VR 2,</FONT></I></B>&nbsp; a Java applet&nbsp; that works like a Quicktime
VR object movie.&nbsp; Freedom VR 2 is a solution for photographic VR that
can be viewed on any platform for a Java&nbsp; enabled web-browser,&nbsp;
including Linux as well as other forms of Unix, Mac OS,&nbsp; OS/2,&nbsp;
Windows and more.&nbsp; Because it's based on open standards&nbsp; such
as .gif and .jpg,&nbsp; you can create Freedom VR content on any platform
as well.&nbsp; Freedom VR 2 is released under the GNU public license so
it's free and source code is available.
<P>Freedom VR 2 adds many features to Freedom VR 1 -- it's now possible
to embed hyperlinks in your VR scenes as well as to make scenes with two
dimensional navigation -- where you can drag the object up and down as
well as left and right.&nbsp; Users can now navigate via the keyboard,&nbsp;
and Freedom VR 2 can now be controlled by Javascript.&nbsp; In addition,&nbsp;
Freedom VR 2 has some improvements in cross-platform performance.
<P>Freedom VR 2 is easy to use;&nbsp; many people have already made great&nbsp;
content with Freedom VR 1 -- to encourage people to use Freedom VR 2,&nbsp;
we're sponsoring a contest.&nbsp; We're giving away a free virtual pet
to the person who submits the best VR model before December 15, 1997.&nbsp;
Take a look at <A HREF="http://www.honeylocust.com/vr/">http://www.honeylocust.com/vr/</A>
<BR>&nbsp;
<BR>Editor's Note:&nbsp; Ok, so I didn't get this out in time for the contest.&nbsp;
My apologies.
<BR>&nbsp;
<BR>&nbsp;
<TABLE BORDER=0 COLS=1 WIDTH="100%" HEIGHT="3" BGCOLOR="#000000" NOSAVE >
<TR NOSAVE>
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
</TR>
</TABLE>
&nbsp;
<TABLE BORDER=0 CELLPADDING=3 COLS=3 WIDTH="100%" NOSAVE >
<TR NOSAVE>
<TD WIDTH="49%" NOSAVE>
<H2>
Brother HL 720 Laser Printer driver for Ghostscript</H2>
P.O. Gaillard wrote a Ghostscript driver for the <B><I><FONT COLOR="#CC6600">Brother
HL 720</FONT></I></B> laser printer. He submitted it to Aladdin Enterprises
and it should be included in upcoming versions of Ghostscript (i.e. the
ones coming AFTER 5.10).&nbsp;
<P>This driver is completely free from copyrights by Brother or Microsoft
(the printer is not a true WPS printer, which is why he could obtain documentation).
You should note that such documentation is not available for Oki and Canon
(LBP 660) printers which prevents writing drivers for them.&nbsp;
<P>Some facts about the driver and the printer&nbsp;
<BR>&nbsp; = The printer is a 600dpi, 6 ppm , $300 printer&nbsp;
<BR>&nbsp; = With ghostscript you can print at approximately 5 ppm&nbsp;
<BR>&nbsp; = It took less than 50 hours to develop the driver&nbsp;
<P>People (especially maintainers of Ghostscript packages for commercial
distributions) who want to use the driver with gs3.33 can contact Mr. Gaillard
and he will send them a patch. (The patch has already been posted in fr.comp.os.linux
a few months ago). Maybe normal users can wait for Debian and Red Hat packages.&nbsp;
<P><A HREF="mailto:pierre.gaillard@hol.fr">P.O. Gaillard</A>&nbsp;
<P>Ed. Note:&nbsp; this was an old announcment from comp.os.linux.announce.
I don't have any other contact information except for the email address.&nbsp;
<HR WIDTH="100%">
<H2>
VARKON V1.15C</H2>
<B><I><FONT COLOR="#CC6600">VARKON</FONT></I></B> is a high level development
tool for parametric CAD and engineering applications developed by Microform,
Sweden. Version 1.15C of the free version for Linux is now available for
download at:&nbsp;
<BR><A HREF="http://www.microform.se">http://www.microform.se</A>&nbsp;
<P>For details on what's new in 1.15C check:&nbsp;
<BR><A HREF="http://www.microform.se/userinfo.htm">http://www.microform.se/userinfo.htm</A>&nbsp;
<P>Johan Kjellander, Microform AB&nbsp;
<BR><A HREF="http://www.microform.se">http://www.microform.se</A> (VARKON/English)</TD>
<TD WIDTH="3" BGCOLOR="#000000" BACKGROUND="../gx/hammel/cleardot.gif"
NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
<TD WIDTH="50%" NOSAVE>
<H2>
Awethor - Java Based authoring tool</H2>
CandleWeb AS is proud to announce a new Java based authoring tool called
<B><I><FONT COLOR="#CC6600">Awethor</FONT></I></B>.&nbsp; Awethor strives
to meet the needs of web authors when it comes to designing and creating
graphics for the Web. As the Awethor system uses vector graphics rather
than bitmaps, users can create and publish large scale drawings and animations
in small files, thereby avoiding the large download times traditionally
associated with large web graphics and animations.&nbsp;
<P>The output of Awethor can be run in any browser that supports the Java
language. Awethor typically outputs two files :&nbsp;
<OL>
<LI>
A file containing the presentation in the QDV (Quick and Dirty Vector graphics)
format. QDV is optimized for the Web, and graphics in this format have
a fraction of the size compared to similar graphics in GIF or JPEG.&nbsp;</LI>
</OL>
<OL>
<LI>
An HTML-file example with the correct parameters for incorporating the
QDV graphics into regular HTML-files. In addition, a standard Java applet
driver for QDV is used. The size of the applet is about 13K, so it is loaded
quickly (and automatically) and you may reuse the same applet on multiple
QDV files.</LI>
</OL>
Here is a short summary of the features of Awethor :&nbsp;
<UL>
<LI>
Creates animations and vector graphics that scales for use on the web.</LI>
<LI>
Drawing of rectangles, arcs, lines, polygons, splines, images and text
are suppported.</LI>
<LI>
Full featured WYSIWYG vector based drawing tool.</LI>
<LI>
Integrated HTML based help system.</LI>
</UL>
Awethor may be downloaded from the CandelWeb web site :&nbsp;
<BR><A HREF="http://www.candleweb.no/">http://www.candleweb.no/</A>&nbsp;
<BR>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
<TR NOSAVE>
<TD NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
</TR>
</TABLE>
&nbsp;
<H2>
FREEdraft - 2D drafting system for Linux/Unix/X.</H2>
<B><I><FONT COLOR="#CC6600">FREEdraft</FONT></I></B> is under development.
It is not yet in any sense ready for production work. It may be useful
if you are interested in constraint syntax modeling, or are just the curious
type.&nbsp; Currently FREEdraft consists of a viewer, a dynamically loadable
grammer/menu/command system, some geometry types and a library of 2D plane
and cad mathematics.
<P>FREEdraft is licensed under the GPL.&nbsp; Feedback is appreciated.&nbsp;
The source code and a screen shot is available from <A HREF="http://www2.netcom.com/~iamcliff/techno.html">http://www2.netcom.com/~iamcliff/techno.html</A>
<BR>&nbsp;
<BR>&nbsp;
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
<TR>
<TD><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
</TR>
</TABLE>
<H2>
Announcing The WebMagick Image Web Generator Version 1.39</H2>
New in this release: a 100% JavaScript interface!
<P>WebMagick is a package which makes putting images on the Web as easy
as magick.&nbsp; You want WebMagick if you:
<OL>
<LI>
Have access to a Unix system</LI>
<LI>
Have a large collection of images you want to put on the Web</LI>
<LI>
Are tired of editing page after page of HTML by hand</LI>
<LI>
Want to generate sophisticated pages to showcase your images</LI>
<LI>
Like its interactive JavaScript based interface</LI>
<LI>
Are not afraid of installing sophisticated software packages</LI>
<LI>
Want to use well-documented software (40 page manual!)</LI>
<LI>
Support free software</LI>
</OL>
After 12 months of development, WebMagick is chock-full of features. WebMagick
recurses through directory trees, building HTML pages, imagemap files,
and client-side/server-side maps to allow the user to navigate through
collections of thumbnail images (somewhat similar to xv's Visual Schnauzer)
and select the image to view with a mouse click. In fact, WebMagick supports
xv's thumbnail cache format so it can be used in conjunction with xv.
<P>The primary focus of WebMagick is performance. Image thumbnails are
reduced and composed into a single image to reduce client accesses, reducing
server load and improving client performance. Everything is either pre-computed
or computed in the browser.
<P>Users with JavaScript-capable browsers (Netscape 3 or 4 &amp; Internet
Explorer 4) enjoy an interface that minimizes accesses to the server. Since
HTML generation is done in the brower, navigation is much faster and more
interactive.
<P>During operation WebMagick employs innovative caching and work-avoidance
techniques to make successive executions much faster. WebMagick has been
successfully executed on directory trees containing hundreds of directories
and thousands of images ranging from tiny icons to large JPEGs or PDF files.
<P>Here is a small sampling of the many image formats that WebMagick supports
(48 in all):
<UL>
<LI>
Acrobat (PDF)</LI>
<LI>
Encapsulated Postscript (EPS)</LI>
<LI>
Fig (Xfig format)</LI>
<LI>
GIF (including animations)</LI>
<LI>
JPEG</LI>
<LI>
MPEG</LI>
<LI>
PNG</LI>
<LI>
Photo CD</LI>
<LI>
Postscript (PS)</LI>
<LI>
TIFF</LI>
<LI>
Windows Bitmap image (BMP)</LI>
</UL>
WebMagick is written in PERL and requires the ImageMagick (3.8.4 or later)
and PerlMagick (1.0.3 or later) packages as well as a recent version of
PERL 5 (5.003 or later). Installation instructions are provided in the
WebMagick distribution.
<P>Obtain WebMagick from the WebMagick page at <A HREF="http://www.cyberramp.net/~bfriesen/webmagick/dist/">http://www.cyberramp.net/~bfriesen/webmagick/dist/.</A>
WebMagick
<BR>can also be obtained from the ImageMagick distribution site (or one
of its mirrors) at <A HREF="ftp://ftp.wizards.dupont.com/pub/ImageMagick/perl/">ftp://ftp.wizards.dupont.com/pub/ImageMagick/perl/.</A>
<BR>&nbsp;
<TABLE BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
<TR>
<TD><IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></TD>
</TR>
</TABLE>
&nbsp;<!--
-- Did You Know Section
-->
<H4>
Did You Know?<IMG SRC="../gx/hammel/cleardot.gif" HEIGHT=3 WIDTH=3></H4>
...the POV-Ray Texture Library 3.0 has its own domain now?&nbsp; Check
outhttp://texlib.povray.org/.
<BR><!--
-- Q and A Section
-->
<H4>
<B><FONT SIZE=+0>Q and A</FONT></B></H4>
<I>Q:</I>&nbsp; <I>Is the Gimp licensed under the GPL or the LGPL?&nbsp;
Does it make a difference?</I>
<P>A:&nbsp; Actually, I'm not completely sure about the legal differences,
but I'll tell you what I know and how I interpret it.&nbsp; First, the
Gimp core program is licensed under GPL.&nbsp; The Plug-Ins (as of the
0.99.18 release) are licensed via the Gimp API library they use which is
called <I>libgimp</I>.&nbsp; This library is licensed under the LPGL.&nbsp;
GPL - the GNU General Public LIcense - provides that the program may be
modified and distributed by anyone as long as the changes are distributed
with the source.&nbsp; This means, I believe, that you can sell the Gimp
if you want, but you need to distribute it with the source code, including
any changes you may have made to the program.&nbsp; It also means that
the code in the Gimp's core cannot be incorporated into proprietary programs
- those programs would have to fall under the GPL if they used any of the
Gimp's source code directly.
<P>The Plug-Ins differ from this in that they can be commercial applications,
distributable without source code.&nbsp; They link against libgimp (and
the Gtk libraries, which are also LGPL'd) but do not use any of the core
Gimp code directly.&nbsp; The LGPL&nbsp; appears to cover the libraries
distribution rights, but allows proprietary programs to link against the
library with certain restrictions.
<P>At least that's how I interpreted it.
<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:hixson@frozenwave.com">hixson@frozenwave.com </A>wrote
(way back in November):
<UL>I've recently written 3 Perl scripts which help to distribute the task
of rendering with povray between several cpu's.&nbsp; One script is for
SMP (multiple processor) machines.&nbsp; It will break an image into halves
and start a separate process for each.&nbsp; This utilizes both CPU's in
a dual proc machine, and nearly halves the rendering time.&nbsp; The other
two scripts work together to utilize multiple machines on a network.&nbsp;
The server script tells each client script how much of an image to render
(also sending the .pov file and any necessary files to each client).
<BR>&nbsp;&nbsp; These scripts were created using Perl 5.004, Linux 2.0.32,
and POVRay 3.0. I'd be honored if you would like to include a link from
your excellent graphics site to my page at <A HREF="http://www.frozenwave.com/~hixson/projects.html">http://www.frozenwave.com/~hixson/projects.html.</A></UL>
<FONT COLOR="#993300">'<B><I>Muse</I></B></FONT>:&nbsp; Not quite on my
LGH pages, but it's a start.&nbsp; I'll get it added to my LGH pages next
time I do an update (whenever I get a chance to do that).
<P>In going through some old email, I found the following discussion which
took place in early November 1997 regarding the use of RIB shaders with
BRMT.&nbsp; Being a little short on real subject matter this month, I thought
I'd share it with you.
<P>Ed Holzwarth (<A HREF="mailto:eholzwar@MIT.EDU">eholzwar@MIT.EDU</A>)
initially wrote:
<UL>I'm trying to render some hypertextures using BMRT... To do this I
need to be able to sample lights with illuminance() at an arbitrary point
inside an object's volume.&nbsp; Seems like the best thing to do that with
would be an Interior volume shader, but I can't get it to work.&nbsp; Here
is some code that I wrote just to test out volume shaders. From the debugging
printf(...)'s, I can tell that the Interior shader is being called, but
it seems to have no effect on the image.&nbsp; Any ideas would be greatly
appreciated!&nbsp; Would love to see topics like this convered in Graphics
Muse!
<P><B><U>Partial RIB code</U></B>
<P>AttributeBegin
<BR>&nbsp;&nbsp; Attribute "identifier" "name" [ "ball" ]
<BR>&nbsp;&nbsp; Interior "shaders/hsin"
<BR>&nbsp;&nbsp; Surface "shaders/trans"
<BR>&nbsp;&nbsp; Translate 2 0 6
<BR>&nbsp;&nbsp; Sphere 3 -3 3 360
<BR>AttributeEnd
<P><B><U>.sl code</U></B>
<BR>volume hsin ()
<BR>{
<BR>&nbsp;&nbsp; if (sin (xcomp(P)) > 0)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp; Oi = .5;
<BR>&nbsp;&nbsp;&nbsp;&nbsp; Ci = color (0,.8,0);
<BR>&nbsp;&nbsp;&nbsp;&nbsp; printf(".");
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oi = 0.8;
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ci = color (.5,0,0);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("!");
<BR>&nbsp;&nbsp; }
<BR>}
<P>/* transparent shader */
<BR>surface
<BR>trans ()
<BR>{
<BR>&nbsp;&nbsp; Oi = .2;
<P>&nbsp;&nbsp; trace(P,normalize(I));
<BR>&nbsp;&nbsp; printf("After : Oi = %c, Ci = %c\n",Oi,Ci);
<BR>}
<BR>&nbsp;</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; (Note - I'd love
to get back to BMRT.&nbsp; I just have to learn to stop taking on so many
projects at once.)
<P><IMG SRC="./gx/hammel/xfiles.jpg" HSPACE=10 VSPACE=5 BORDER=2 HEIGHT=213 WIDTH=285 ALIGN=LEFT>Hmmm.&nbsp;
I haven't been playing with BMRT for some time now and was no expert to
begin with, however I think the problem might be fairly straight forward.&nbsp;
I played with what you sent me by shoving it in a standard RIB that I use
to test objects and shaders.&nbsp; I played with lots of settings in the
RIB for colors and opacity.&nbsp; No real help there.&nbsp; Then I tried
mucking with the two shaders.&nbsp; Not much luck there.
<P>So I thought about what the volume shader really does.&nbsp; A volume
shader does not have a geometric primitive associated with it.&nbsp; It
is bound to a&nbsp; surface.&nbsp; So thinking about this and looking at
how the surface was defined via the RIB and the surface shader I thought
"Gee, maybe the surface isn't of a type that can allow light to pass through
it very well, even if we've set the opacity low".&nbsp; So I swapped your
surface shader with the BMGlass shader I got from a web site (or maybe
it was from Larry Gritz's pages, I've forgotten now - the shader was written
by Larry).
<P>Success.&nbsp; The effects of the volume shader are properly displayed
using the glass surface shader.&nbsp; Or let's say the colors you'd expect
from the volume shaders impact are obvious and distinct.&nbsp; The old
way, all I got was various forms of reflection from the surface.&nbsp;
Now I get the surface mixed with the volume shader effects.
<P>I don't know if this is the correct solution to your problem, but I
think it's a start.&nbsp; The volume shaders effects are tightly bound to
how the light enters that volume, and that is determined by the characteristics
of the surface through which the light must travel.&nbsp; Muck with the
surface characteristics (or use a clear glass shader if you don't want
the surface to play a role in the overall effect) first, then fiddle with
the volume shader.
<P>Ed wrote back:
<UL>Hmm. That is interesting.&nbsp; Actually, yesterday I got the code
to work by changing the order of things in the .rib file.&nbsp; Also, the
although the volume shader doesn't know about Os and Cs, Oi and Ci are
already set to what the Surface shader has calculated for the surface hit
points.&nbsp; Also, the surface shader gets called twice,&nbsp; and then
the Interior shader is called, and the length of I in the volume shader
is the length of the ray inside the volume.&nbsp; So anyway, here is a
revised version of what I sent you previously; it now works as expected,
but if you change the order of things in the .rib&nbsp; file it seems not
to work.&nbsp; In the shader below, the color and opacity are based on
the length of I, so the sphere looks 3D.&nbsp; If you replace the interior
shader below with, for example, the noisysmoke shader which comes with
BMRT, you get a smoky sphere.&nbsp; Pretty neat!
<P><B><U>Partial RIB code</U></B>
<P>AttributeBegin
<BR>&nbsp;&nbsp; Attribute "identifier" "name" [ "ball" ]
<BR>&nbsp;&nbsp; Surface "shaders/trans"
<BR>&nbsp;&nbsp; Interior "shaders/hsin"
<BR>&nbsp;&nbsp; Opacity [0 0 0]
<BR>&nbsp;&nbsp; Translate 1.9 0 6
<BR>&nbsp;&nbsp; SolidBegin "primitive"
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sphere 3 -3 3 360
<BR>&nbsp;&nbsp; SolidEnd
<BR>AttributeEnd
<P><B><U>Shader code</U></B>
<P>/* transparent shader */
<BR>surface
<BR>trans ()
<BR>{
<BR>&nbsp;&nbsp; Ci = trace(P,I);
<BR>}
<P>volume hsin ()
<BR>{
<BR>&nbsp;&nbsp; color Cv, Ov;
<P>&nbsp;&nbsp; if (sin (2*xcomp(P)) > 0)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cv = color (0,length(I)/8,0);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cv = 0;
<P>&nbsp;&nbsp; Ov = length(I)/8;
<P>&nbsp;&nbsp; /* Ci &amp; Oi are the color (premultiplied by opacity)
and opacity of
<BR>&nbsp;&nbsp;&nbsp;&nbsp; *the background element.
<BR>&nbsp;&nbsp;&nbsp;&nbsp; * Now Cv is the light contributed by the volume
itself, and Ov is the
<BR>&nbsp;&nbsp;&nbsp;&nbsp; * opacity of the volume, i.e. (1-Ov)*Ci is
the light from the background
<BR>&nbsp;&nbsp;&nbsp;&nbsp; * which makes it through the volume.
<BR>&nbsp;&nbsp;&nbsp; */
<BR>&nbsp;&nbsp;&nbsp; Ci = Cv + (1-Ov)*Ci;
<BR>&nbsp;&nbsp;&nbsp; Oi = Ov + (1-Ov)*Oi;</UL>
'<B><I><FONT COLOR="#993300">Muse:</FONT></I></B>&nbsp; Neat indeed!
<P>And another from the <I>really</I> old email category:
<P>Rob Hartley &lt;<A HREF="mailto:rhartley@aei.ca">rhartley@aei.ca </A>or
<A HREF="mailto:robert.hartley@pwc.ca">robert.hartley@pwc.ca</A>> wrote:
<UL>Bonjour from Montreal!</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; ...and howdy from
Texas!
<UL>We are expecting a foot or more of snow today, so I decided to snuggle
up to LG this morning until the roads are cleared.</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; Snow measured in
anything but millimeters is why I left Colorado.&nbsp; Beautiful state,
but I lack the requisite tolerance for frigid winters.
<UL>I wrote to you a while ago mentioning the availability of <B><I><FONT COLOR="#CC6600">OpenInventor</FONT></I></B>
(OIV) for Linux from <B>Template Graphics Software </B>(<A HREF="http://www.tgs.com">http://www.tgs.com</A>).&nbsp;
So far, it seems alright, but there are still a few things that I cannot
get working at home that work just fine on my SGI at the office.&nbsp;
I have the book "The Inventor Mentor" which took a week for special order,
but it was worth the wait.
<P>The problem with OIV is that it costs nearly a thousand dollars U.S.!&nbsp;
A bit much when I consider that I can get a whole new Linux box for that
much, or for the price of a new souped up PC and OIV, we can get a second-hand
SGI workstation which comes with Inventor pre-installed.
<P>So I scrounged the 'net a bit and found Links to the 'Apprentice Project'
and 'Pryan'&nbsp; which runs under the QT GUI library.&nbsp; Both of these
packages, available in source form, will read Inventor files, which is
really nice, because Inventor files are/were the basis for the VRML 1.0
file definition.&nbsp; This I find particularly handy for developing applications
at work and at home.&nbsp; At work we have a mix of SGI, AIX, HP, and Sun
workstations pumped up and running Catia for our design group (we build
gas turbine engines for jets, helicopters and commuter aircraft.)
<BR>Which brings me to why I am writing:&nbsp; In the Linux Gazette I noticed
a query about: "...PC software product -- an interactive educational system
-- what PC graphics package is "state of the art" for Linux or Windows?"&nbsp;
If I were tasked with developing an interactive 3D system that had to be
run on Linux, Win'95/NT and a large variety of Unixen (Unixes, Unicses?),
I&nbsp; would be tempted to look further into the following:
<P><B>Open Inventor</B>
<UL>Solid, easy to use, multiplatform, but costly ( developer ~$1000, runtime
starts at ~$75 (I think), and decreases with volume)
<BR><A HREF="http://www.tgs.com">http://www.tgs.com</A></UL>
<B>The Apprentice project </B>(Inventor clone)
<UL>Source is available from this link: <A HREF="http://users.deltanet.com/~powerg/Apprentice/">http://users.deltanet.com/~powerg/Apprentice/</A></UL>
<B>Pryan</B> (Inventor clone, requires Qt GUI listed below)
<UL>Free software, source code distribution, <A HREF="http://www.troll.no/opengl/">http://www.troll.no/opengl/</A></UL>
<B>Qt</B>
<UL>Free software (commercial license also, but same code), source code
distribution - <A HREF="http://www.troll.no">http://www.troll.no</A></UL>
</UL>
<UL>Also note that most of the Addison Wesley OpenGL programming books,
including:
<UL>The Inventor Mentor
<BR>Open GL Programming for the X Window System&nbsp; (which covers GLUT)
<BR>Open GL Programming Guide
<BR>Open GL Reference Guide</UL>
(and all the 'X' books, including Motif) are good references to have around,
but they are also available in electronic format, in postscript PDF and
hypertext format.&nbsp; I would guess we have heard little of them because
they are so big.&nbsp; I know they exist because I have and use them online
and on-paper.&nbsp; If&nbsp; needed, they would probably all fit onto a
Zip disk.</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; I'm not certain
it's legal to redistribute those texts, but it is nice to know they are
available in electronic format if desired.
<UL>I would love to help out in any way I can.&nbsp; Keep up the great
work,</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; You already have!&nbsp;
Thanks for all this wonderful information!
<UL>PS:&nbsp; I can see a diversification of the realms of computer graphics
between 2D and 3D.&nbsp; Have you ever considered a 3D Graphics Muse?&nbsp;
It is an exciting area that is really growing and I would enjoy seeing
more attention paid to it.</UL>
<B><I><FONT COLOR="#993300">'Muse</FONT></I></B>:&nbsp; It's not a bad idea
and there certainly is enough material to keep it going.&nbsp; The only
problem is that I don't have the time to split between the two subject
areas (and a job, and other writing duties, and ...).&nbsp; Of course,
if any readers would like to do a write up on either and have it included
with the Muse feel free to <A HREF="mailto:mjhammel@fastlane.net">contact
me</A>.&nbsp; You will, of course, get full credit for your work.&nbsp;
The Muse is just another place for graphics fans to gather.
<BR>
<HR WIDTH="100%">
<BR><A NAME="webwonderings"></A>
<BR><IMG SRC="../gx/hammel/webwonderings.jpg" HEIGHT=57 WIDTH=246>
<BR><B>XeoMenu 1.1 from JavaSoft</B> <FONT SIZE=+0>should have been here.&nbsp;
I&nbsp;just procrastinated.&nbsp; If you want to get a head start on it,
take a look at <A HREF="http://java.sun.com:81/share/classes/menu/source/source.html">http://java.sun.com:81/share/classes/menu/source/source.html</A>.&nbsp;
Happy wonderings!</FONT>
<BR>
<HR WIDTH="100%">
<P><A NAME="musings"></A>
<BR>&nbsp;
<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>
&nbsp;
<TABLE BORDER=0 COLS=3 WIDTH="100%" >
<TR>
<TD ALIGN=LEFT VALIGN=TOP COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=1 HEIGHT=1 WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<TR>
<TD ALIGN=LEFT VALIGN=TOP ROWSPAN="3" WIDTH="50%">
<H2>
Font3D and XFont3D</H2>
&nbsp;&nbsp; One of the problems with using 3D graphics for logos is the
lack of good model data for the fonts.&nbsp; A quick scan of the various
model banks, such as Viewpoint Datalabs <A HREF="http://www.datalabs.com/avalon.html">Avalon</A>
archives or <A HREF="http://www.3dsite.com/">3DSite</A>, finds very few
canned models of fonts.&nbsp; Besides, do you really want to hang on to
a complete set of letters in a given font as model data?&nbsp; After all,
how often will you be using X, Q or Z?&nbsp; (Of course, cyberworld artists
probably use these all the time, but that's another story).&nbsp;
<P>&nbsp;&nbsp; Fortunately, this problem is easily solved using Todd Prater's
<B><I><FONT COLOR="#CC6600">Font3D</FONT></I></B> utiltity.&nbsp; Font3D
is a tool for converting text strings using a given font into model data
which can be read by a variety of modelling programs and rendering utilities.&nbsp;
Output formats include support for POV-Ray (both 2.x and 3.x formats),
Raidance, Vivid, AutoCad DXF, Renderman RIB, and RAW Triangles.&nbsp; The
model data can be generated using a healthy set of Font3D command options.&nbsp;
Features such as face textures, beveling of both front and back faces,
length of face and side cuts for beveling, and object positioning are provided.&nbsp;
Font3D supports both Macintosh and MSWindows TrueType font files.&nbsp;
<P>&nbsp;&nbsp; Font3D is, I believe, shareware.&nbsp; The register.txt
file states it runs for $10US, although it doesn't state explicitly that
you need to register.&nbsp; Since the files in the latest version, 1.60,
are dated with a January 1996 date, I suspect that either no new work has
been done on Font3D in some time or only registered users are getting updates.&nbsp;
Then again, once you've seen the breadth of command options avialable,
you might wonder what new features could be added.&nbsp;
<P>&nbsp;&nbsp; You can fetch the C++ source for Font3D from its primary
archives at&nbsp; <A HREF="http://www-personal.ksu.edu/~squid/font3d.html">http://www-personal.ksu.edu/~squid/
font3d.html</A>.&nbsp; You can also fetch a slightly older version from
the POV-Ray archives at <A HREF="ftp://ftp.povray.org/pub/poray/utilities">ftp://ftp.povray.org/pub/poray/utilities</A>.&nbsp;
This latter version is th 1.51 version.&nbsp; I'm not certain why, after
all this time, the 1.60 version has not been added to the POV-Ray archives.&nbsp;
Also note that the 1.51 release includes a large DOS and OS/2 binaries
in the zip file, along with the C++ source.&nbsp; The 1.60 release broke
out the DOS and OS/2 binaries and includes only the source.&nbsp;
<P>&nbsp;&nbsp; The source for 1.60 comes in a zip file.&nbsp; If, like
me, you are unfamiliar with C++, don't worry.&nbsp; The Makefile provided
builds the source without modification.&nbsp; There really isn't all that
much to the source, which makes dealing with the build all that much simpler.&nbsp;
The Makefile assumes you have GCC/G++ installed and in your path.&nbsp;
For Linux users this is pretty much a given, especially if you've installed
from one of the well known Linux distributions (Red Hat, Debian, SuSE,
Slackware, etc.).&nbsp; Basically, just follow the installation instructions
for Unix systems that can be found in the font3d.txt file, or if you prefer,
in the font3d.ps document.&nbsp;
<P>The code appears quite stable, producing usable code for both POV and
RIB (via BMRT) as well as DXF and RAW files that were parsable by the latest
version of the AC3D modeller.&nbsp;
<P>&nbsp;&nbsp; Font3D processes a specified string using a specified font
by parsing a set of commands.&nbsp; These commands can be specified either
on the command line or in a configuration file.&nbsp; Command options fall
into 8 basic categories:&nbsp;
<BR>&nbsp;
<CENTER><TABLE BORDER COLS=2 WIDTH="95%" NOSAVE >
<TR NOSAVE>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="10%" BGCOLOR="#33CCFF" NOSAVE><B>Categories</B></TD>
<TD><B>Commands</B></TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Fonts</B></TD>
<TD>font, font-path, map</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Visibility</B></TD>
<TD NOSAVE>faces, sides, bevels, front-face, back-face, front-bevel, back-bevel</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Texturing</B></TD>
<TD NOSAVE>texture, face-texture, side-texture, bevel-texture, front-face-texture,
back-face-texture, front-bevel-texture, back-bevel-texture</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Beveling</B></TD>
<TD ALIGN=LEFT VALIGN=TOP NOSAVE>bevel-type, cut, face-cut, side-cut, front-face-cut,
front-side-cut, back-face-cut, back-side-cut</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Object</B></TD>
<TD>char, code, depth, resolution, string, triangle type</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Output</B></TD>
<TD>coordinate-system, constants, format, name, output, output-path, precision</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Positioning</B></TD>
<TD>xpos, ypos, zpos</TD>
</TR>
<TR NOSAVE>
<TD BGCOLOR="#33CCFF" NOSAVE><B>Miscellaneous</B></TD>
<TD>config, verbose</TD>
</TR>
</TABLE></CENTER>
A config file can be used to specify commands.&nbsp; The <I>config</I>
command can be used to specify the name of the config file or you can set
the FONT3D_DEFAULT_CONFIG environment variable:&nbsp;
<P>For bash/ksh/sh users:&nbsp;
<UL><B><FONT FACE="Arial,Helvetica"><FONT SIZE=-1>FONT3D_DEFAULT_CONFIG=&lt;path>/&lt;config_file_name></FONT></FONT></B>&nbsp;
<BR><B><FONT FACE="Arial,Helvetica"><FONT SIZE=-1>export FONT3D_DEFAULT_CONFIG</FONT></FONT></B></UL>
For csh users:&nbsp;
<UL><B><FONT FACE="Arial,Helvetica"><FONT SIZE=-1>setenv FONT3D_DEFAULT_CONFIG
&lt;path>/&lt;config_file_name></FONT></FONT></B></UL>
If a path is not specified, the default config file (font3d.def) will be
searched for in the same directory from which you started Font3D.&nbsp;&nbsp;
Note that the FONT3D_DEFAULT_CONFIG variable specifies the path and file
name, not just the path, to the config file.&nbsp;
<P>&nbsp;&nbsp; Commands are formed as "name=value" pairs, whether they
are in the config file or on the command line.&nbsp; If the "value" portion
of the command includes spaces it must be enclosed in double quotes.&nbsp;
This is probably only applicable to the <I>string</I> command, which is
used to specify the text for which the objects will be generated.&nbsp;
<P>&nbsp;&nbsp; By default Font3D uses POV-Ray as its preview renderer,
which means the default output file will be a POV-Ray include file.&nbsp;
Object naming is supported for POV objects, although no other output formats
allow for naming of objects.&nbsp; Font3D also uses a right-handed coordinate
system by default.&nbsp; This can be changed with the <I>coordiante-system</I>
command line option.&nbsp; Note that POV-Ray, for example, uses a left
handed coordinate system. I would think it would make more sense to make
the default left handed since the default output is POV-Ray.&nbsp; Strings
are generated by default, but you can specify a single character using
the <I>char</I> command.&nbsp; You can also specify a character code of
a single glyph using the <I>code</I> command.&nbsp;
<P>&nbsp;&nbsp; Texturing is only supported for POV output formats.&nbsp;
The texture is referenced by name only, by applying the named texture to
the object.&nbsp; Font3D cannot be used to generate a texture directly.&nbsp;
<P>&nbsp;&nbsp; The visibility commands only determine if a component (front
face, a bevel, etc) will be displayed in the rendered image.&nbsp; If the
visibility for a component is turned off, the component is still generated
as part of the object in the output file.&nbsp; This means turning the
visibility off for various components will reduce the polygon count for
your objects.&nbsp; It does not turn off the actual beveling, however.&nbsp;
If the cut for a face or side is non-zero, then the bevel will still be
there except with the visibility turned off the object has a gap where
the bevel would have been.&nbsp;
<BR>&nbsp;
<BR>&nbsp;
<P>&nbsp;
<CENTER><A HREF="#next-column">-Top of next column-</A></CENTER>
</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%"><LH><A NAME="next-column"></A><B>More Musings...</B>&nbsp;</LH>&nbsp;
<LI>
None this month!</LI>
</TD>
</TR>
<TR>
<TD BGCOLOR="#000000"><IMG SRC="../gx/hammel/cleardot.gif" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
</TR>
<TR>
<TD>&nbsp;&nbsp; Bevels, sides and faces are better understood with a simple
diagram:&nbsp;
<BR><IMG SRC="./gx/hammel/diagram.jpg" HEIGHT=293 WIDTH=350>
<BR>As you can see, it is possible to set quite a few characteristics of
the objects generated. You can't use the rounded beveling features of Font3D
to create completely rounded lettering, however.&nbsp; The beveling (whether
using rounded or flat bevels) work best as subtle effects on the lettering.&nbsp;
This is because the rounded beveling is done using smooth triangles on
a flat bevel, which only fake the rounded appearance by altering the normals
at the points of triangles.&nbsp; I covered this type of problem when discussing
BMRT's support for True Displacements in the <A HREF="http://www.graphics-muse.org/muse/muse.html">May
1997 Graphics Muse</A> article titled <B><I>BMRT Part II:&nbsp; Renderman
Shaders</I></B>. Also, not all formats support the smooth triangles.&nbsp;
Despite this, smooth triangles are the default (POV-Ray) does support them)
and are recommended for final renderings. Previews can be run without them,
of course, to decrease rendering time.&nbsp;
<P>The output from Font3D is prefixed with comments, as shown in <A HREF="source/font3d-1.txt">font3d-1.txt</A>.&nbsp;
This makes it easy to determine how to reproduce the objects should the
need arise.&nbsp; You can view the actual object code by viewing the example
<A HREF="source/povray.txt">POV-Ray 3.x</A> and <A HREF="source/rib.txt">RIB</A>
files.&nbsp; These are abbreviated, sample files, since the complete files
were over 700k.&nbsp; Notice that the RIB file is in a format where it
can be included using the ReadArchive command.&nbsp; The samples generated
produced the following images:&nbsp;&nbsp;&nbsp;
<TABLE BORDER=0 CELLSPACING=2 COLS=1 WIDTH="100%" NOSAVE >
<TR NOSAVE>
<TD ALIGN=CENTER NOSAVE><IMG SRC="./gx/hammel/pov_preview.jpg" HEIGHT=150 WIDTH=200></TD>
</TR>
<TR NOSAVE>
<TD ALIGN=CENTER NOSAVE><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+1>POV-Ray</FONT></FONT></B></TD>
</TR>
<TR NOSAVE>
<TD ALIGN=CENTER NOSAVE><IMG SRC="./gx/hammel/rib.jpg" HEIGHT=150 WIDTH=200></TD>
</TR>
<TR NOSAVE>
<TD ALIGN=CENTER NOSAVE><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+1>RIB</FONT></FONT></B></TD>
</TR>
</TABLE>
As you can see the generated objects come out very similar.&nbsp; The rendering
options were not optimized so the quality of the renderings shouldn't be
compared.&nbsp;
<P>Font3D comes complete with very good documentation in both regular text
and a postscript version which prints out to 30 pages.&nbsp; The document
includes a very thorough description of all command line options.&nbsp;
<P>Although Font3D offers many wonderful features, it can be cumbersome
to remeber how to use them all.&nbsp; Thankfully, <A HREF="mailto:mallozzir@cspar.uah.edu">Robert
S. Mallozzi </A>has added an X-based front end to Font3D which he calls
<B><I><FONT COLOR="#CC6600">XFont3D</FONT></I></B>.&nbsp; <A HREF="http://cspara.uah.edu/~mallozzir/html/xfont3d.html">XFont3D</A>
is an XForms based front end that includes a POV preview capability.&nbsp;
That means it understands how to run POV, but not any of the other supported
formats supported by Font3D.
<BR>Aimed at POV users, it (apparently, I&nbsp;didn't verify this) will
still run all the command line options allowed by Font3D.&nbsp;
<BR>&nbsp;
<CENTER><IMG SRC="./gx/hammel/xforms.jpg" HEIGHT=250 WIDTH=362></CENTER>
<CENTER><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+1>XForms Interface</FONT></FONT></B></CENTER>
<P>Using this interface is pretty straightforward as long as you understand
the Font3D command structure.&nbsp; Clicking a button under the options
header on the right of the window causes the framed area to the left of
that to be populated with relevant buttons and input fields.&nbsp; Many
of these options can be reset to their default values using the small,
square buttons with the black dot in them (just click on it once).&nbsp;
In general, you'll want to choose a font first (using the font button to
access a file selection window), specify the string to generate and an
output file name.&nbsp; AFter this you can specify configuration options
and an output file format (RIB, POV, etc).&nbsp; Changing the map type
(MS, which should really be PC to avoid annoying Unix traditionalists like
myself, or MAC) or the Cooordinate handedness probably won't be necessary
that often, but that depends on your own needs.
<BR>&nbsp;
<BR>&nbsp;</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>
&nbsp;
<BR>&nbsp;
<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>&nbsp;
<TABLE BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
<TR NOSAVE>
<TD NOSAVE><A HREF="http://www.csn.net/~mjhammel/linux/lgh.html">Linux
Graphics mini-Howto</A>&nbsp;
<BR><A HREF="http://www.csn.net/~mjhammel/ugu/ugu.html">Unix Graphics Utilities</A>&nbsp;
<BR><A HREF="http://www.digiserve.com/ar/linux-snd/">Linux Multimedia Page</A>&nbsp;
<P>Some of the Mailing Lists and Newsgroups I keep an eye on and where
I get much of the information in this column:&nbsp;
<P><A HREF="http://www.gimp.org">The Gimp User and Gimp Developer Mailing
Lists</A>.&nbsp;
<BR><A HREF="http://www.irtc.org">The IRTC-L discussion list</A>&nbsp;
<BR><A HREF="news:comp.graphics.rendering.raytracing">comp.graphics.rendering.raytracing</A>&nbsp;
<BR><A HREF="news:comp.graphics.rendering.renderman">comp.graphics.rendering.renderman</A>&nbsp;
<BR><A HREF="news:comp.graphics.api.opengl">comp.graphics.api.opengl</A>&nbsp;
<BR><A HREF="news:comp.os.linux.announce">comp.os.linux.announce</A>&nbsp;</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><B><I><FONT COLOR="#CC6600">XeoMenu</FONT></I></B>, for one.&nbsp;
<B><I><FONT COLOR="#CC6600">libgr</FONT></I></B> might be another, or maybe
<B><I><FONT COLOR="#CC6600">IPAD</FONT></I></B> or <B><I><FONT COLOR="#CC6600">VRWave</FONT></I></B>,
if I can get either them running in time.
<P><A HREF="mailto:mjhammel@fastlane.net">Let me know what you'd like to
hear about!</A>
<P>
<HR WIDTH="100%">
<DIV ALIGN=right><FONT SIZE=-1>&copy; 1998 <A HREF="mailto:mjhammel@fastlane.net">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>
<P><HR><P>
<center><H5>Copyright &copy; 1998, Michael J. Hammel <BR>
Published in Issue 25 of <i>Linux Gazette</i>, February 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="./appleton.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./pardo.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->