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

1450 lines
52 KiB
HTML

<!--startcut ==========================================================-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>
Graphics Muse
</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff"
vlink="#fa3333" alink="#33CC33" link="#0000FA">
<!--endcut ============================================================-->
<H4>
&quot;Linux Gazette...<I>making Linux just a little more fun!</I>&quot;
</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="3,10 158,56">
<AREA SHAPE="rect" HREF="#musings" coords="5,85 142,116">
<AREA SHAPE="rect" HREF="#resources" coords="5,152 177,182">
</MAP>
<TABLE width=560>
<tr>
<td width=441 valign="top" align=left cellpadding=0 cellspacing=0>
<!-- The title graphics -->
<IMG SRC="../gx/hammel/gm3.gif" ALT="Welcom to the Graphics Muse"
ALIGN="left" WIDTH="441" HEIGHT="216" border="0"></td>
<td width=119 align=right valign="bottom">
<table>
<tr>
<td align=center>
<FONT size=2>
Set your browser to the width of the line below for best viewing.
</FONT>
<!-- The Copyright -->
<BR><FONT size=1>
&copy 1997 by
<A HREF="mailto:mjhammel@csn.net">mjh</A>
</FONT></td>
</tr>
</table></td>
<tr>
<!-- Provide a measure for readers to adjust their browsers to.
-- These pages should fit on a 640 pixel wide window, so laptop
-- users should be able to read them too.
-->
<td width=100% cellspacing=0 cellpadding=0
valign=bottom align=center colspan=2>
<HR>
</td>
</table>
<TABLE width=560>
<tr>
<!-- td width=177 align=left valign=top>
-->
<td width=17% align=left valign=top>
<IMG SRC="../gx/hammel/buttons3.gif" ALT="Button Bar"
ALIGN="left" WIDTH="177" HEIGHT="185"
USEMAP="#nav-main" border="0"></td>
<!-- td width=463 align=left valign=top>
-->
<td width=83% align=left valign=top>
<!-- What is a Graphics Muse? -->
<FONT size=4><B>muse:</B></FONT>
<OL>
<LI><I>v;</I> to become absorbed in thought
<LI><I>n;</I> [ fr. Any of the nine sister goddesses of learning and the
arts in Greek Mythology ]: a source of inspiration
</OL>
<IMG SRC="../gx/hammel/w.gif" ALT="W" ALIGN="left"
HSPACE="0" VSPACE="0" WIDTH="36" HEIGHT="28">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.
<!-- Text based navigation -->
<P>
<CENTER>
<FONT size=2>
[<A HREF="#mews">Graphics Mews</A>]
[<A HREF="#musings">Musings</A>]
[<A HREF="#resources">Resources</A>]
</FONT>
<CENTER></td>
</table>
<TABLE width=560>
<tr>
<td>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="8" WIDTH="1" HEIGHT="1">
<IMG SRC="../gx/hammel/t.gif" ALT="T" ALIGN="left"
HSPACE="0" VSPACE="0" WIDTH="26" HEIGHT="28">his
column is dedicated to the use, creation, distribution, and dissussion of
computer graphics tools for Linux systems.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
What a month. Actually, two months. Last month I was busily working
on putting together an entry for the IRTC using BMRT. At the same time
I was trying to teach myself enough about the RenderMan Interface
Specification to put together the second of three articles on BMRT.
I didn't succeed in the latter and ended up postponing the article
by one month. Because I did this
I was able to focus more on learning the interface and worry less
about writing. I think this strategy worked. The scene I rendered for this
month's IRTC is the best I've ever done and I managed to gain enough
experience to write a meaningful article on the RenderMan Shading Langauge.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
One of the reasons I enjoy doing this column is because it exposes me to
all sorts of people and software. The world of computer graphics for
Linux is constantly growing and the software constantly improves. I
hear about new products just about once or twice a week now and I hear
about updates to existing packages all the time. It's very difficult to
keep track of all the changes (and the fact that I haven't made any updates
to the Linux Graphics mini-Howto in some time reflects this), but I enjoy
the work.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
Since things change so often I have found it's never clear how many
announcements I'll have for any one month. It's gone from famine to
feast - with this month being the feast. Most of the announcements in
this month's column are from April alone. I don't know what happened -
maybe all the bad weather around the globe kept people inside and busily
working and now that the sun's out they're starting to let loose what
they've done. I only wish I had the time to examine everything, to play
with them all. But my employer would rather I finish my current project
first. Has something to do with keeping my salary, so they say.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
In this month's column, I'll be covering only two related items. The
first is a case study on learning to use BMRT. When you submit an image in
the IRTC, you are required to submit an ASCII text file describing your
image and, to some extent, how you created it. Some people don't put much
work into this. I just about wrote a book. Since the information I
provided covered more than just BMRT, I thought it would be relavent to this
column.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
The second item is the long-awaited (well, I waited a long time to
finish it anyway) 2nd article on BMRT that covers the RenderMan Shading
Language. I think this article came out quite good. I've included quite a
few samples and some general explanations on what they do. I want to
say right up front that I couldn't have done this without lots of help from
BMRT's author, Larry Gritz at Pixar. He was a very willing teacher and
critic who offered many tips and ideas for my IRTC entry. Most of that
also ended up in this article. Many thanks, Larry.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
I know I said I'd do an HF-Lab article this month too, but that IRTC
entry took more time than I expected. It was quite addicting, trying
to get things just right. I have started to review HF-Lab once again
and will make it my first priority for next month's column. I've already
figured out how to use the output from HF-Lab to produce height fields with
BMRT. It's quite simple really. Anyway, I hope you enjoy this month's
articles.
<BR clear=both>
&nbsp; &nbsp; &nbsp;
Note: I've been asked by a couple of readers about support for 3D
hardware support in the various X servers. I'm going to contact the
X Server vendors (Xi Graphics, MetroLink, The XFree Project)
as well as Brian Paul (the MesaGL author)
and see what they have to say. If you are connected with these folks
and have some insight, I'd love to hear what you have to say. Please
<A HREF="mailto:mjhammel@csn.net">email me</A> if you know if such
support is forthcoming and I'll include it in an upcoming Graphics
Muse column.
<P>
</td>
</table>
<!-- Netscape has a bug when applying a Name tag to an image, so we have to
stick the image in a table so the image will be the top item on the
page.
-->
<A NAME="mews">
<table width=560>
<tr>
<td align=left>
<IMG SRC="../gx/hammel/mews.gif" ALT="Graphics Mews" ALIGN="left"
HSPACE="0" VSPACE="0" WIDTH="242" HEIGHT="53">
</td>
</table>
</A>
<BR clear=both>
<TABLE width=560 border=0>
<tr>
<td colspan=4>
<BR clear=both>
&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.
<P>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td width="50%">
<H4>
Frame grabber device driver for the ImageNation Cortex I video
capture card - Version 1.1
</H4>
&nbsp;&nbsp;&nbsp;
This adapter is an 512 by 486 resolution 8bit gray
scale video capture card. The device can provide data in
pgm file format or raw image data.
<BR>FTP site:<BR>
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/video/cortex.drv.1.1.tgz">
ftp://sunsite.unc.edu/pub/Linux/
<BR>&nbsp;&nbsp;&nbsp;
apps/video/cortex.drv.1.1.tgz</A>
<BR>Web Site:<BR>
<A HREF="http://www.cs.ubc.ca/spider/jennings/cortex.drv.1.1.tgz">
http://www.cs.ubc.ca/spider/
<BR>&nbsp;&nbsp;&nbsp;
jennings/cortex.drv.1.1.tgz</A>
</td>
<td bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#ffffff" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td width="49%" valign=top>
<H4>
3DOM - a new 3D modeller project using OpenGL for Linux
</H4>
&nbsp; &nbsp; &nbsp;
3DOM is a 3D Modeler for Unix (using HP StarBase or OpenGL/Mesa)
that is free for
non-commercial use. Source code is available. Binaries for
Linux/Intel, SGI, Sparc Solaris and HP-UX are also availalbe.
<P>
It's not quite 'ready for prime-time', meaning there is
almost no documentation
and there is still a lot of work to do on the user interface.
<A HREF="http://www.cs.kuleuven.ac.be/cwis/research/graphics/3DOM/">
http://www.cs.kuleuven.ac.be/
<BR>&nbsp;&nbsp;&nbsp;cwis/research/graphics/3DOM/</A>
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
Pixcon/Anitroll R1.04
</H4>
I found this in my /tmp directory while getting ready for this month's
column. I couldn't find a reference to it in any other Muse columns, so I
guess I must have just misplaced it while preparing for an earlier issue.
Hopefully, this isn't too out of date.
<BR clear=both>
&nbsp;&nbsp;&nbsp;
Pixcon & Anitroll is a freely available 3D
rendering and animation package, complete with source.
Pixcon is a 3D renderer that creates high quality images by using a
combination of 11 rendering primitives. Anitroll is a forward kinematic
heirarchical based animation system that has some support for some
non-kinematic based animation (such as flock of birds, and autonomous
cameras). These tools are based upon the Graph library which is full
of those neat rendering and animation algorithms that those 3D faqs
keep mentioning. It also implements
some rendering techniques that were presented at Siggraph 96 by Ken
Musgrave and was used to generate an animation for Siggraph '95.
<BR clear=both>
&nbsp;&nbsp;&nbsp;
New features since version 1.03:
<UL>
<LI>elimination of a memory leak w/ the polygon class
<LI>implemented a vector system for fast preview of frames
<LI>reorganize rendering process to support future parallel processing
<LI>30-60 % reduction in rendering time and memory usage
</UL>
The Pixcon & Anitroll home page is at:
<BR clear=both>
&nbsp;&nbsp;&nbsp;
<A HREF="http://www.radix.net/~dunbar/index.html">
http://www.radix.net/~dunbar/index.html</A>
<BR clear=both>
Comments can be emailed to
<A HREF="mailto:dunbar@saltmine.radix.net">dunbar@saltmine.radix.net</A>.
Pixcon is available either through the above web site or at Sunsite.
It is currently under:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/Incoming/pixcon104.tgz">
/pub/Linux/Incoming/pixcon104.tgz</A>
and will be moved to:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/graphics/pixcon104.tgz">
/pub/Linux/apps/graphics/pixcon104.tgz</A>
NOTE: there is a file pixcon1.04.tgz in those directories,
but it's corrupted. Be sure to get the correct files.
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
ELECTROGIG 3DGO
</H4>
&nbsp;&nbsp;&nbsp
ELECTROGIG
is a software company specializing in
3D solid modeling, visualization and animation software.
The latest version of 3DGO (version 3.2), a modeling
animation and raytracing package, is now available for
the Intel Linux platform. A beta version is also available for the
MkLinux platform.
Take a look at the benchmarks for Linux
on the intel platform:
<A HREF="http://www.gig.nl/products/prodbench.html">
http://www.gig.nl/products/prodbench.html</A>.
<BR clear=both>
&nbsp;&nbsp;&nbsp
3DGO was originally developed for the SGI platform and
is available for the SGI, SUN and HP platforms.
<BR clear=both>
&nbsp;&nbsp;&nbsp
For more comprehensive information about 3DGO, check out the
WWW-site:
<A HREF="http://www.gig.nl/products/prodinfo.html">
http://www.gig.nl/products/prodinfo.html</A>.
<BR clear=both>
&nbsp;&nbsp;&nbsp
You can download a demo-version of 3DGO for linux, this version
has all functionality, except the save functions. Go to our
download area:
<A HREF="ftp://ftp.gig.nl/demo/">
ftp://ftp.gig.nl/demo/</A>.
Please read the .txt files before downloading.
<P clear=both>
ELECTROGIG Technology
<BR clear=both>
<A HREF="mailto:info@gig.nl">
INFO: info@gig.nl</A>
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td width="50%">
<table>
<tr>
<td>
<H4>
EZWGL v1.2, the EZ widget and graphics library.
</H4>
&nbsp; &nbsp; &nbsp;
EZWGL is a C library written on top of Xlib. It has been developed on
a Linux system and has been tested on the following platforms:
SunOS 4.1.4, OSF1 V3.2 Alpha, IRIX 5.3 Linux 1.2 and Linux 2.0.23.
It should work on all Unices with X11R6.
This release is the first one that comes with a complete postscript
manual.
<P>
For more information, check out
<A HREF="http://www.ma.utexas.edu/~mzou/EZWGL">
http://www.ma.utexas.edu/~mzou/EZWGL</A>.
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td>
<H4>
xfpovray v1.2b
</H4>
&nbsp;&nbsp;&nbsp;
A new release of xfpovray, the graphical interface to
POV-Ray, has been released by
<A HREF="mailto:mallozzir@cspar.uah.edu"> Robert S. Mallozzi</A>.
xfpovray v1.2b requires the XForms library
and supports most of the numerous options of POV-Ray. You can view
an image of the interface and get the source code from
<BR clear=both>&nbsp;&nbsp;&nbsp;
<A HREF="http://cspar.uah.edu/~mallozzir/">http://cspar.uah.edu/~mallozzir/</A>
<BR clear=both>
There is a link to the XForms home page if you don't yet have this
library installed.
</td>
</table>
</td>
<td bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#ffffff" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td width="49%">
<H4>
libgr V2.0.12
</H4>
&nbsp; &nbsp; &nbsp;
A new version of libgr, version 2.0.12, is now available from
<A HREF="ftp://ftp.ctd.comsat.com:/pub/linux/ELF/libgr-2.0.12.tar.gz">
ftp.ctd.comsat.com:/
<BR>&nbsp;&nbsp;&nbsp;
pub/linux/ELF/libgr-2.0.12.tar.gz</A>.
<UL>
<LH>Changes to this release:
<LI> updated pbm, pgm, ppm, pnm from netpbm-94.
<LI> All the netpbm-94 apps are now included. They are NOT built or
installed by default, however. You must say make everything, make
install_everything.
<LI> Minor mods to compile with bash-2.0.
<LI> Minor mods to compile with glibc-2.
</UL>
<I>libgr</I> is a collection of graphics
libraries, which includes fbm, jpeg,
pbm, pgm, ppm, pnm, png, tiff, rle.
<P>
<I>libgr</I> will build shared libs on Linux-ELF and on HP/UX.
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
EPSCAN - scanner driver for EPSON ES-1200C/GT-9000 scanners
</H4>
&nbsp; &nbsp; &nbsp;
EPSCAN is a scanner driver for EPSON ES-1200C/GT-9000 scanners. It
includes a driver and a nice Qt-based X frontend.
It allows previewing, and
selecting a region of an image to be scanned, as well as changing
scanner settings. It only supports scanners attached to a SCSI port,
not to the parallel port.
<P>
EPSCAN can be found at
<BR>
<A HREF="ftp://sunsite.unc.edu/pub/Linux/Incoming/epscan-0.1.tar.gz">
ftp://sunsite.unc.edu/pub/Linux/Incoming/epscan-0.1.tar.gz</A>.
<BR>RPM versions of the binary and source are available from
<A HREF="ftp://ftp.redhat.com/pub/Incoming/epscan-0.1-1.src.rpm">
ftp://ftp.redhat.com/pub/Incoming/epscan-0.1-1.src.rpm</A>
<A HREF="ftp://ftp.redhat.com/pub/Incoming/epscan-0.1-1.i386.rpm">
ftp://ftp.redhat.com/pub/Incoming/epscan-0.1-1.i386.rpm</A>.
<BR>They're intended destinations are
<A HREF="ftp://ftp.redhat.com/pub/contrib/epscan-0.1-1.src.rpm">
ftp://ftp.redhat.com/pub/contrib/epscan-0.1-1.src.rpm</A>
<A HREF="ftp://ftp.redhat.com/pub/contrib/epscan-0.1-1.i386.rpm">
ftp://ftp.redhat.com/pub/contrib/epscan-0.1-1.i386.rpm</A>.
and
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/graphics/scanners/epscan-0.1.tar.gz">
ftp://sunsite.unc.edu/pub/Linux/apps/graphics/scanners/epscan-0.1.tar.gz</A>
<P>
The driver should work for any of the
ES-{300-800}C / GT-{1000-6500} models as well, but has not been
tested on these.
<UL>
<LH>Requirements:</LH>
<LI>Linux 2.x
<LI>XFree3.x
<LI>Qt library version >= 1.1
<LI>libtiff version >= 3.4
<LI>g++ version >= 2.7.2
</UL>
Author: Adam P. Jenkins
&lt<A HREF="mailto:ajenkins@cs.umass.edu">ajenkins@cs.umass.edu</A>&gt
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td width="50%">
<H4>
Inlab-Scheme Release 4
</H4>
&nbsp; &nbsp; &nbsp;
Inlab-Scheme Release 4 is now available for Linux/386 (2.X kernel,
ELF binary) and FreeBSD.
<BR clear=b0th>
&nbsp; &nbsp; &nbsp;
Inlab-Scheme is an independent implementation of the algorithmic
language Scheme as defined by the R4RS and the IEEE Standard
1178. In addition to the language core Inlab-Scheme has support
for bitmap/greymap processing of several kinds. Inlab-Scheme can
be used as a general tool for image processing, OCR or specialized
optical object recognition.
<BR clear=b0th>
&nbsp; &nbsp; &nbsp;
Inlab-Scheme Release 4 reads and writes multipage tiff/G4, XBM and
PNG graphic file formats. Inlab-Scheme Release 4 has built in
converters for various patent image file formats (USAPat,
PATENTIMAGES and ESPACE).
<BR clear=b0th>
&nbsp; &nbsp; &nbsp;
Inlab-Scheme is distributed at
<A HREF="http://www.munich.net/inlab/scheme">
http://www.munich.net/inlab/scheme</A>,
where additional information about the current state of the project,
supported platforms, current license fees and more is available.
</td>
<td bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#ffffff" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td width="49%">
<H4>
The Linux Game SDK Project
</H4>
The new WWW page for the Linux Game SDK is at
<BR clear=b0th>
&nbsp; &nbsp;
<A HREF="http://www.ultranet.com/~bjhall/GSDK/">
http://www.ultranet.com/~bjhall/GSDK/</A>.
<BR clear=b0th>
&nbsp; &nbsp; &nbsp;
The Linux GSDK Project is a new project which aims to make
a consistent and easy to use set of libraries to ease game
developers (professional or not) to make first class games
under the Linux OS. The GSDK will provide libraries for 2D and
3D graphics, advanced sound, networked games and input devices.
It should also improve the development of multimedia applications for
Linux. See the Web site for more informations.
<BR clear=b0th>
&nbsp; &nbsp; &nbsp;
The GSDK mailing list has moved from linux-gsdk@endirect.qc.ca to
<A HREF="mailto:linux-gsdk@mail.wustl.edu">linux-gsdk@mail.wustl.edu</A>.
Additionnal lists have been created for the various teams.
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
WebMagick Image Web Generator
</H4>
&nbsp;&nbsp;&nbsp
WebMagick is a package which supports making image collections available
on the Web. It 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.
<BR clear=both>
&nbsp;&nbsp;&nbsp
WebMagick is based on the "PerlMagick" ImageMagick PERL extension rather
than external ImageMagick utilities (as its predecessor "Gifmap" is). This
alone is good for at least a 40% performance increase on small images.
WebMagick supports smart caching of thumbnails to speed montage generation
on average size images. After a first pass at "normal" speed, successive
passes (upon adding or deleting images) are 5X to 10X faster due to the
caching.
<BR clear=both>
&nbsp;&nbsp;&nbsp
WebMagick supports a very important new feature in its caching subsystem:
it can create and share a thumbnail cache with John Bradley's 'xv' program.
This means that if you tell 'xv' to do an update, WebMagick montages will
benefit and you can run WebMagick as a batch job to update xv's thumbnails
without having to wait for 'xv' to do its thumbnail reduction (and get a
browsable web besides!).
<BR clear=both>
&nbsp;&nbsp;&nbsp
WebMagick requires the ImageMagick (3.8.4 or later) and PerlMagick (1.0 or
later) packages as well as a recent version of PERL 5.
<table>
<tr>
<td> Primary-site:
<td>
<A HREF="http://www.cyberramp.net/~bfriesen/webmagick/dist/webmagick-1.17.tar.gz">
http://www.cyberramp.net/~bfriesen/webmagick/dist/webmagick-1.17.tar.gz</A>
<tr>
<td> Alternate-site:
<td>
<A HREF="ftp://ftp.wizards.dupont.com/pub/ImageMagick/perl/webmagick-1.17.tar.gz">
ftp.wizards.dupont.com/pub/ImageMagick/perl/webmagick-1.17.tar.gz</A>
<tr>
<td> Perl Language Home Page:
<td> <A HREF="http://www.perl.com/perl/index.html">
http://www.perl.com/perl/index.html</A>
<tr>
<td> ImageMagick:
<td> <A HREF="http://www.wizards.dupont.com/cristy/ImageMagick.html">
http://www.wizards.dupont.com/cristy/ImageMagick.html</A>
<tr>
<td> PerlMagick:
<td> <A HREF="http://www.wizards.dupont.com/cristy/www/perl.html">
http://www.wizards.dupont.com/cristy/www/perl.html</A>
<tr>
<td> Author:
<td> <A HREF="mailto:bfriesen@simple.dallas.tx.us">
Bob Friesenhahn (bfriesen@simple.dallas.tx.us)</A>
</table>
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td width="50%">
<H4>
SIMLIB IG - Commercial library
</H4>
&nbsp;&nbsp;&nbsp
SIMLIB IG a C library which enables communication with Evans &
Sutherland graphics Supercomputers (so called image generators).
It enables the user to communicate with Evans & Sutherland image
generators (Liberty and ESIG Systems) using a very efficient raw
Ethernet protocol. There is no need for using opcodes, since
SIMLIB IG provides an API to the functionality of the image
generators.
<BR clear=both>
&nbsp;&nbsp;&nbsp
Documentation comes printed in English, and source code
examples are provided on the distribution media.
The software is also available for SGI and NT systems.
<P clear=both>
SIMLIB IG for Linux is $2500 (US)
<BR clear=both>
SIMLIB IG for all other OS is $5000 (US)
<P clear=both>
<A HREF="mailto:office@knienieder.co.at">
KNIENIEDER Simulationstechnik KG
(office@knienieder.co.at)</a>
<BR clear=both>
Technologiezentrum Innsbruck
<BR clear=both>
AUSTRIA/EUROPE
</td>
<td bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#ffffff" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td width="49%">
<H4>
mtekscan - Linux driver for MicroTek ScanMaker SCSI scanners
</H4>
mtekscan is a Linux driver for MicroTek
ScanMaker (and compatible) SCSI scanners. Originally developed for the
ScanMaker E6, it is (so far) known to also work with the ScanMaker
II/IIXE/IIHR/III/E3/35t models, as well as with the Adara ImageStar I,
Genius ColorPage-SP2 and Primax Deskscan Color.
<BR clear=both>
&nbsp;&nbsp;&nbsp;
The new version of mtekscan is v0.2. It's still in beta testing,
but all major options should work without problems. Besides some
small bugfixes and minor improvements, the new version contains a
couple of new features, most notably:
<UL>
<LI>3-pass scanning support
<LI>gamma correction
<LI>loadable gamma correction tables
<LI>better documentation
</UL>
mtekscan v0.2 is available as mtekscan-0.2.tar.gz from the
Fast Forward ftp-server:
<BR clear=both>&nbsp;&nbsp;&nbsp;
<A HREF="ftp://fb4-1112.uni-muenster.de/pub/ffwd/">
ftp://fb4-1112.uni-muenster.de/pub/ffwd/</A>
<BR clear=both>
or from sunsite:
<BR clear=both>&nbsp;&nbsp;&nbsp;
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/graphics/scanners/">
ftp://sunsite.unc.edu/
<BR clear=both>&nbsp;&nbsp;
pub/Linux/apps/graphics/scanners/</A>
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
PNG binaries for Netpbm tools now available
</H4>
Linux binaries for pnmtopng, pngtopnm, and gif2png are available at:
<A HREF="http://www.universe.digex.net/~dave/files/pngstuff.tgz">
http://www.universe.digex.net/~dave/files/pngstuff.tgz</A>
If you have trouble dowloading that, see
<A HREF="http://www.universe.digex.net/~dave/files/index.html">
http://www.universe.digex.net/~dave/files/index.html</A>
for helpful instructions.
<BR clear=both>
&nbsp;&nbsp;&nbsp
PNG is the image format that renders GIF obsolete.
For details on that, you can visit the PNG home page at:
<A HREF="http://www.wco.com/~png/">
http://www.wco.com/~png/</A>.
<BR clear=both>
&nbsp;&nbsp;&nbsp
The only shared libraries you need are libc and libm; all of the
others are linked statically.
The versions of libraries used to build the programs are those
that were publicly available as of 1997-04-06:
<UL>
<LI>pnmtopng-2.34
<LI>gif2png 0.6 (beta)
<LI>zlib-1.0.4 (statically linked)
<LI>libpng-0.90 (statically linked)
<LI>netpbm-1mar1994 (statically linked)
</UL>
</td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=0 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4>
<H4>
TN-Image Version 2.5.0
</H4>
TN-Image is:
<UL TYPE=square>
<LI> Scientific image analysis program for the X Window System.
<LI> Mouse & menu-based image editing and scientific analysis with
user-friendly user interface.
<LI>Freely distributable.
</UL>
It includes a 123-page manual, tutorials, and on-line help.
The Unix version is highly customizable with regard to fonts,
colors, etc.
<UL TYPE=square>
<LH> System requirements:</LH>
<LI> Unix version requires X11R5 or higher and Motif 1.2 or higher.
Statically-linked version does not require Motif.
<LI> Binaries are provided for the Linux (x86), Solaris, Irix,
ConvexOS, and MS-DOS.
<LI> DOS version requires SVGA card and 4 MB of RAM; handles all
VESA screen modes including 1600x1200, as well as XGA and XGA-2
video cards.
</UL>
<UL TYPE=square>
<LH>Some features of TN-Image</LH>
<LI> Scanner interface for H/P SCSI scanners with preview scan and
interactive image scanning at 8, 10, 12, 24, 30, and 36 bits/pixel
(Not available in ConvexOS and MS-DOS versions).
<LI> Create, cut/paste, and add text labels in multiple fonts and graphic
elements such as circles, Bezier curves, freehand drawing, etc.
<LI> Handles up to 512 images of any depth simultaneously. Each image can
be in a separate window or in a single large window to facilitate
creation of composite images. Cut/paste works even if images are
of different depths or in different windows.
<LI> Prints to PCL or PostScript printer. CMY, CMYK, or RGB formats.
<LI> Import/export formats: PCX, IMG, TIF (both Macintosh and PC),
JPEG, BMP, GIF, TGA, IMG, Lumisys Xray scanner, and ASCII images, of
any depth from 1-32 bits per pixel, color or monochrome, raw binary
images, 3D images (such as PET scan and confocal images), and
user-definable image formats. Handles unusual image depths such
as 12- and 17-bit grayscale.
<LI> Interconversion of image formats.
<LI> Solid and gradient flood fill.
<LI> R, G, and B image planes can be manipulated separately.
<LI> Adjust color, intensity, contrast, and grayscale mapping. Grayscale
images deeper than 8 bits/pixel, such as medical grayscale images,
can be viewed with a sliding scale to enhance any particular intensity
region.
<LI> Rotate, resize, warp, flip, invert or remap colors; crop, paint,
spray paint, etc.
<LI> Convolution filters: sharpen, blur, edge enhancement, shadow
sharpening, background subtract, background flatten, and noise
filter.
<LI> Interactively create arbitrary colormaps or select from 10,000
pre-defined colormaps.
<LI> Macro language and macro editor. Macro programming guide is included.
<LI> Image algebra function allows multiple images to be subtracted or
otherwise transformed according to arbitrary user-defined equations.
<LI> RGB & intensity histograms.
<LI> 3D images can be viewed interactively as a movie, or each frame can
be manipulated separately.
<LI> Many advanced features
</UL>
Contact and archive information:
<table>
<tr>
<td>Contact:
</td>
<td>tjnelson@las1.ninds.nih.gov
</td>
<tr>
<td>Archive locations
</td>
<td>
<A HREF="ftp://sunsite.unc.edu:/apps/graphics/tnimage250.linux.tar.gz">
sunsite.unc.edu:/apps/graphics/tnimage250.linux.tar.gz</A>
<br>
<A HREF="ftp://sunsite.unc.edu:/apps/graphics/tnimage250.linux-static.tar.gz">
sunsite.unc.edu:/apps/graphics/tnimage250.linux-static.tar.gz</A>
<br> <A HREF="ftp://las1.ninds.nih.gov:/pub/unix/tnimage250.linux.tar.gz">
las1.ninds.nih.gov:/pub/unix/tnimage250.linux.tar.gz</A>
<br><A HREF="ftp://las1.ninds.nih.gov:/pub/unix/tnimage250.linux-static.tar.gz">
las1.ninds.nih.gov:/pub/unix/tnimage250.linux-static.tar.gz</A>
<BR><A HREF="ftp://las1.ninds.nih.gov:/pub/unix/tnimage250.solaris.tar.gz">
las1.ninds.nih.gov:/pub/unix/tnimage250.solaris.tar.gz</A>
<BR><A HREF="ftp://las1.ninds.nih.gov:/pub/unix/tnimage250.irix.tar.gz">
las1.ninds.nih.gov:/pub/unix/tnimage250.irix.tar.gz</A>
<br><A HREF="ftp://las1.ninds.nih.gov:/pub/unix/tnimage250.solaris.tar.gz">
las1.ninds.nih.gov:/pub/unix/tnimage250.solaris.tar.gz</A>
<br><A HREF="ftp://las1.ninds.nih.gov:/pub/dos/tnimg216.zip">
las1.ninds.nih.gov:/pub/dos/tnimg216.zip</A>
</td>
</table>
</td>
<tr>
<td colspan=4 bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
VSPACE="5" HSPACE="10" WIDTH="1" HEIGHT="1"></td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4 bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
VSPACE="5" HSPACE="10" WIDTH="1" HEIGHT="1"></td>
<tr>
<td colspan=4>
<!--
-- Did You Know Section
-->
<H4>Did You Know?</H4>
&nbsp; &nbsp; &nbsp;
...that there is a converter available to turn POV-Ray heightfields
into RenderMan compliant RIB files for use with BMRT? Florian
Hars writes:
<BLOCKQUOTE>
I've worked on my code, now it uses libpgm and has all the necessary
vector routines included, it is on my page (with some comparisions of
rendering time and memory consumption):
<A HREF="http://www.math.uni-hamburg.de/home/hars/rman/height.html">
http://www.math.uni-hamburg.de/home/hars/rman/height.html</A>
</BLOCKQUOTE>
Florian also has some pages of general POV vs. RenderMan comparisons:
<A HREF="http://www.math.uni-hamburg.de/home/hars/rman/rm_vs_pov.html">
http://www.math.uni-hamburg.de/home/hars/rman/rm_vs_pov.html</A>
<P>
&nbsp; &nbsp; &nbsp;
...that there is a freely available RenderMan shader library from
Guido Quaroni? The library contains shaders from the <B>RenderMan
Companion</B>, Pixar, Larry Gritz and a number of other places.
You can find a link to it from the BMRT Web pages at
<A HREF="http://www.seas.gwu.edu/student/gritz/bmrt.html">
http://www.seas.gwu.edu/student/gritz/bmrt.html</A>.
<P>
&nbsp; &nbsp; &nbsp;
...that there is an FTP site at CalTech containing a large
number of RenderMan shaders? The collection is similar to Guido
Quaroni's archive, except the FTP site includes sample RIB files
that use the shaders plus the rendered RIBs in both GIF and TIFF
formats. The site is located at
<A HREF="ftp://pete.cs.caltech.edu/pub/RMR/Shaders/">
ftp://pete.cs.caltech.edu/pub/RMR/Shaders/</A>.
<!--
-- Q and A Section
-->
<P><FONT size=3><B>Q and A</B></FONT>
<P>
<I>Q: Where can I get a copy of the Netscape color cube for
use with Netpbm? How should it be used?
</I>
<P>A: The color cube can be found at the web site for
the text <B>Creating Killer Websites</B> at
<A HREF="http://www.killersites.com/images/color_cube_colors.gif">
http://www.killersites.com/images/color_cube_colors.gif</A>.
The cube can be used in the following manner:
<CENTER>
<FONT size=2>
<table>
<tr>
<td>% giftopnm color_cube_colors.gif" > color_cube.ppm
</td>
<tr>
<td>% tgatoppm image.tga | ppmquant -m color_cube.ppm -fs | \
<br>&nbsp;&nbsp;&nbsp;
ppmtogif -interlace -transparent rgb:ff/ff/ff > image.gif
</td>
</table>
</FONT>
</CENTER>
where ff/ff/ff is any set of Red, Green, and Blue values
to make transparent.
<P>
<I>Q: Where can I get models of the human figure?
</I>
<P>A:
Here are two addresses for human figure models. The first is 3DCafe's
official disclaimer and the second takes you straight to the human
figures. Please read the disclaimer first (although you may need
an asp capable browser, such as Netscape 3.x to do so):
<A HREF="http://www.3dcafe.com/meshes.htm">
http://www.3dcafe.com/meshes.htm</A>
<BR><A HREF="http://www.3dcafe.com/anatomy.htm">
http://www.3dcafe.com/anatomy.htm</A>
<P><FONT size=2>From the <I>IRTC-L</I> mailing list</FONT>
<P>
<I>Q: Is there a VRML 2.0 compliant browser available for Linux?
</I>
<P>A: Yes. Dimension X's Liquid Reality is a fully compliant
VRML 2.0 browser. The download web page says that there will
be support as a plug-in for Netscape 3.x soon. This is a
commercial product with a free trial version available for
download. See
<A HREF="http://www.dimensionx.com/products/lr/download/">
http://www.dimensionx.com/products/lr/download/</A> for more
details.
<P><FONT size=2>From a friendly reader, whose name I
absent mindedly discarded before recording it. My
apologies.</FONT>
<P>
<I>Q: Can anyone tell me how I would go about defining a height field
according to a specific set of data points?
My goal is to be able to take a topographic map, overlay it with a
rough grid, and use the latitude, longitude, and elevation markings
as points in a definable 3-D space to create a height field roughly
equal to real topography.
</I>
<P>A: The easiest way is probably to write a PGM file.
I wouldn't use longitude and latidude because the length of one degree
isn't fixed and it will give reasonable results only near the equator.
Use UTM coordinates or superimpose any arbitrary grid on your map
which represents approximate squares.
<PRE>
P2
# kilimajaro.pgm
15 10
59
10 15 18 20 21 22 23 23 21 20 19 18 17 16 15
11 15 19 22 27 30 30 30 29 28 25 20 19 18 17
13 15 19 21 28 38 36 40 40 35 30 24 20 19 18
15 16 18 20 29 39 37 44 59 44 38 30 22 19 18
15 16 18 20 28 30 30 40 50 46 51 48 28 20 19
15 15 16 17 18 19 20 24 30 35 37 37 30 20 19
15 15 14 15 16 17 18 19 22 29 30 29 27 20 19
15 15 14 13 15 16 15 17 18 20 22 20 20 20 18
15 14 13 11 12 12 12 13 14 15 17 15 15 15 14
14 11 10 9 9 10 10 10 9 10 13 12 11 11 11
</PRE>
Use it with scale <15,1.18,10> to get an to-scale image and with a
larger y-scale if you want to see something. The earth is incredibly
flat.
<P><FONT size=2>From Florian Hars via the
<I>IRTC-L</I> mailing list</FONT>
<P>
<A NAME="rib-csg"></A>
<I>Q: I've been fiddling with some simple CSG using BMRT and have run
into a problem. I'm trying to cut a square out of a plane that
was created from a simple bilinear patch. Whatever I use to define the
square (a box actually) comes out white instead of the background color
(black in this case). I dont know what I'm doing wrong and was
wondering if someone might take a peek at this for me.
</I>
<P>A:
There are several problems with your RIB file, as well as your use
of CSG. The two biggies are:
<P>You just can't do this:
<PRE>
ObjectBegin 2
SolidBegin "primitive"
TransformBegin
Translate -1 0 0
Rotate -90 0 1 0
Patch "bilinear" "P"
[ -1 -1 0 1 -1 0
-1 1 0 1 1 0 ]
TransformEnd
... etc.
ObjectEnd
</PRE>
&nbsp;&nbsp;&nbsp
Transformations just aren't allowed inside object definitions.
Remember that object instances inherit the entire graphics state
that's active when they are instanced -- including transformations.
So all primitives within the instanced object get the very same
transformation. If they're all bilinears like you have them, that
means that they will all end up on top of one another.
<BR clear=both>
&nbsp;&nbsp;&nbsp
For this reason and others, I urge everybody to <I>not use instanced
objects at all</I> for any RenderMan compliant renderer. They're quite
useless as described in the RenderMan 3.1 spec.
Yes, I know that <B>RenderMan Companion</B> has an example that does
exactly what I said is illegal. The example is wrong, and will not
work with either PRMan or BMRT.
<BR clear=both>
&nbsp;&nbsp;&nbsp
Solid (CSG) operations are meant only to operate on <I>solids</I>.
A solid is a boundary representation which divides space into three
distinct loci: (a) the boundary itself, which has finite surface area,
(b) a (possibly disconnected) region of finite volume (the "inside"),
and (c) a connected region of infinite volume (the "outside").
You can't subtract a box from a bilinear patch, since a bilinear patch
isn't a solid to begin with.
<BR clear=both>
&nbsp;&nbsp;&nbsp
If you want a flat surface with a square hole, there are two methods
that I'd recommend: (a) simply use several bilinears (4 to be exact)
for the surface, like this:
<PRE>
+-----------------------+
| #1 |
| |
+======+---------+======+
| | | |
| #2 | (hole) | #3 |
| | | |
+======+---------+======+
| #4 |
| |
+-----------------------+
</PRE>
Or, (B) if you really want to be fancy, use a single flat order 2
NURBS patch with an order 2 trim curve to cut out a hole.
<P><FONT size=2>
From Larry Gritz &lt;<A HREF="mailto:lg@pixar.com">lg@pixar.com</A>&gt;
</FONT>
</td>
<tr>
<td colspan=4 bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
VSPACE="5" HSPACE="10" WIDTH="1" HEIGHT="1"></td>
<tr>
<td colspan=4 bgcolor="#000000" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<tr>
<td colspan=4 bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
VSPACE="5" HSPACE="10" WIDTH="1" HEIGHT="1"></td>
</table>
<P>
<A NAME="musings">
<table>
<tr>
<td>
<IMG SRC="../gx/hammel/musings.gif" ALT="Musings" ALIGN="left"
HSPACE="0" VSPACE="0" WIDTH="247" HEIGHT="52">
</td>
</table>
</A>
<BR clear=both>
<TABLE width=560>
<tr>
<td colspan=5 valign=top>
<H4>
Correcting for display gamma
</H4>
<IMG SRC="./gx/hammel/gamma-scale.jpg"
ALT="Gamma Correction Scale" ALIGN="right"
HSPACE="8" WIDTH="300" HEIGHT="832">
&nbsp;&nbsp;&nbsp;
This past 2 months I've been hard at work on an entry for this
round of the IRTC, the Internet Ray Tracing Competition. In
previous rounds I had submitted entries using POV-Ray, but for
this round I switched to BMRT, mostly so I could learn the RenderMan
API and how to write shaders using the RenderMan shading language.
This month's main article is the second of a three part series on
BMRT. The BMRT package is written by Larry Gritz, and Larry was
gracious enough to offer some wonderful critiques and tips on
my image.
<BR>
&nbsp;&nbsp;&nbsp;
During out email correspondence, Larry noticed I had overlit my
scenes quite badly. While we tried to figure out what was causing
this (it turned out to be a misuse of some parameters to some
spotlights I was using) he asked if I had gamma corrected for my
display. Gamma correction is a big issue in computer graphics, one
that is often overlooked by novices. I'd heard and read quite a
bit about gamma correction but had never really attempted to determine
how to adjust the gamma for my display. Larry offered an explanation,
a quick way to test the gamma on my system, and a tip for
adjusting for gamma correction directly in the BMRT renderer, rendrib.
I thought this would be a great thing to share with my readers, so
here it is.
<BR>
&nbsp;&nbsp;&nbsp;
Rendrib produces linear pixels for its output -- i.e. a pixel with
value 200 represents twice as much light as a pixel of value 100.
Thus, it's expected that your display will be twice as bright
(photometrically, not necessarily perceptually) on a pixel of 200
than one of 100.
<BR>
&nbsp;&nbsp;&nbsp;
This sort of display only really happens if you correct for gamma,
the nonlinearity of your monitor. In order to check this,
take a look at the following chart. Display the chart as you'd
view any image. You'll notice that if you squint, the apparent
brightness of the left side will match some particular number on
the right. This is your gamma correction factor that must be
applied to the image to get linear response on your particular
monitor.
</td>
<tr>
<td valign=top width="54%">
<BR>
&nbsp;&nbsp;&nbsp;
If your display program uses Mesa (as rendrib's framebuffer display
does), you can set an environment variable, MESA_GAMMA, to this value
and it will transparently do the correction as it writes pixels to the
screen. Most display programs let you correct gamma when you view
an image, though I've had trouble getting xv to do it without messing
up the colors in a weird way.
<BR>
&nbsp;&nbsp;&nbsp;
Another alternative is to put the following line in your RIB file:
<PRE>
Exposure 1 &ltgamma&gt
</PRE>
</td>
<td bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#000000" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
HSPACE="0" WIDTH="0" HEIGHT="0"></td>
<td bgcolor="#ffffff" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="0" HEIGHT="0"></td>
<td valign=top width="40%" cellpadding=0 cellspacing=0>
<table>
<tr>
<td valign=top cellpadding=0 cellspacing=0>
<A NAME="next-column">
<U><B>More Musings...</B></U>
</A>
<BR clear=both>
<A HREF="more-musings.html#1">
My Entry in the March/April IRTC
</A> - a case study in learning to
use RenderMan and BMRT
<P clear=both>
<A HREF="bmrt-part2.html">
BMRT Part 2 - The RenderMan Shading Language
</A>
</td>
<tr>
<td bgcolor="#000000" cellpadding=1 cellspacing=0 valign=top>
<IMG SRC="../gx/hammel/cleardot.gif" ALT="indent" ALIGN="left"
WIDTH="1" HEIGHT="1"></td>
</table>
</td>
<tr>
<td colspan=5>
where gamma was what you measured with the chart.
This will cause rendrib to pre-correct the output pixels for the
gamma of your display.
I think it's important to gamma correct so that at least you're
viewing the images the way that rendrib "expects" them to appear.
It can't know about the nonlinearities of your CRT without you
telling it.
<BR>
&nbsp;&nbsp;&nbsp;
Larry has more on the gamma issue on his own pages. You can find
it at
<A HREF="http://www.seas.gwu.edu/student/gritz/gamma.html">
http://www.seas.gwu.edu/student/gritz/gamma.html</A>.
He also asked me to mention that he got this chart from
Greg Ward, but we didn't have any contact information for him.
Hopefully he doesn't mind our using it.
&nbsp;&nbsp;&nbsp;
Readers should note that the image displayed in this article may
not provide accurate information for adjusting gamma since your
browser may dither the colors in a way which changes what the
actual value should be. Also, this image is a JPEG version of
the original TIFF image Larry supplied. It's possible the conversion
also changed the image. If you're interested in trying this out you
should grab
<A HREF="./gx/hammel/gamma-scale.tif">the original TIFF image</A>
(300x832).
</td>
</table>
<P>
<A NAME="resources">
<table>
<tr>
<td>
<IMG SRC="../gx/hammel/resources.gif" ALT="Resources" ALIGN="left"
HSPACE="0" VSPACE="0" WIDTH="246" HEIGHT="57">
</td>
</table>
</A>
<BR clear=both>
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 clear=both>
<P>
<A HREF="http://www.csn.net/~mjhammel/linux-graphics-howto.html">
Linux Graphics mini-Howto
</A>
<BR>
<A HREF="http://www.csn.net/~mjhammel/povray/povray.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, where I get alot
of the information for this column:
<P> <A HREF="http://www.XCF.Berkeley.EDU/~gimp/">
The Gimp User and Gimp Developer Mailing Lists</A>.
<BR> <A HREF="http://www.povvray.org/irtc">
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.os.linux.announce">
comp.os.linux.announce</A>
<br>
<P>
<A NAME="future">
<H2>Future Directions</H2>
</A>
Next month:
<UL>
<LI>HF-Lab - no really, I mean it this time.
<LI>Possibly a review of Image Alchemy
<LI>A preview of Gimp 1.0 (unless it's already released, in which
case it won't be a preview)
<LI>If I can find the info, I'll report on the future of 3D hardware
support from Xi Graphics, Metro and The XFree Project.
<LI>and who knows what else.
</UL>
<BR>
<A HREF="mailto:mjhammel@csn.net">
Let me know what you'd like to hear about!</A>
<P>
<HR>
<!--===================================================================-->
<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>
<P><HR><P>
<center><H5>Copyright &copy; 1997, Michael J. Hammel<BR>
Published in Issue 17 of the Linux Gazette, May 1997</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="./dotfile.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./kandinsky.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->