home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-17 | 65.3 KB | 1,431 lines |
-
- The Linux Graphics Mini-HowTo
-
- Version 1.3
-
- This document is maintained by Michael J. Hammel
- The master page for this document is
- http://www.csn.net/~mjhammel/linux-graphics-howto.html.
- Last updated: May 15th, 1996
- --------------------------------------------------------------------
-
- Table Of Contents
- * Whats New
- o General
- o The Internet Ray Tracing Competition
- * Introduction
- o Purpose
- o Where to get this software
- o Updates and Errata
- o The Four Basic Types of Graphics Tools
- * [Updated!] Graphics Basics
- o File Formats
- o Pixels vs. Primitives and Rendering vs. Drawing
- o [Updated!] Static vs. Animated Images
- o Live Video
- o System Requirements
- o Texts on Computer Graphics
- * Image Viewing Tools
- * Image Creation Tools
- o Drawing and Paint Programs
- o [Updated!] Raytracers and other 3D tools
- o Fractal-based tools (heightfields, etc.)
- o [Updated!] Modelers
- o [Updated!] Programming Interfaces (APIs)
- o Image Libraries
- o Other Image Creation Tools
- * Image Manipulation Tools
- o [Updated!] Static Image Manipulators
- o Animated Image Manipulators
- * Image Conversion Tools
- * Tools yet to be evaluated
- * Other Topics
- o Creating Web page graphics
- o Fonts on Linux
- o A word about the X11 directories
- o Distributed Rendering
- o Newsgroups
- o References
- * Acknowledgments
- * Register for updates
-
- --------------------------------------------------------------------
-
- Whats New
-
- General
-
- Current Version Number: 1.2
-
- I added markers to the Linux Graphics mini-Howto so readers could quickly
- find changes from previous versions. Anything marked with the New graphic,
- [New!], is new. That should make it easy to find. There is also an Updated
- graphic, [Updated!], for things which existed in previous releases but were
- incomplete, wrong or otherwise needed to be changed.
-
- Readers can register to be notified when this document is updated.
-
- The Internet Ray Tracing Competition
-
- The Internet Ray Tracing Competition is back online. This contest was
- originally started by Matt Kruse and generally ran in the comp.graphics.*
- hierarchy. Matt was a bit overwhelmed by the work and had to stop the
- competition back in November or December. A new group of individuals has
- picked it up (I'm on the backup Admin team, and Matt is helping coordinate
- things) and the first contest has started. Although open to renderers that
- run on any OS, many of the competitors and readers of
- comp.graphics.rendering.raytracing (where Matt started the original
- competition) are Linux users of POVRay.
-
- Check the IRTC Home Page for more details. For those with ftp only links,
- try ftp://ftp.povray.org:/pub/irtc.
- [ArroContents
-
- --------------------------------------------------------------------
-
- Introduction
-
- Purpose
-
- The Linux Operating System has gone from a hackers paradise to a system used
- for everything from ISP Internet Servers to a document publishing platform.
- One area which has not gotten much exposure is the use of Linux in dealing
- with graphical images. This document will attempt to cover the tools
- available for viewing, creating, manipulating, and converting graphics
- images on Linux systems.
-
- Although many of the tools that will be explored here are X windows based,
- this document will not cover the configuration issues associated with
- running X Windows. Where necessary, information regarding system
- requirements, such as X server extensions, will be provided. Also, the tools
- discussed here relate to graphics "images", that is, pictures. This document
- does not cover graphical "interfaces", that is, windowing systems features.
-
- This document also does not cover tools that are designed for display using
- non-X-based interfaces, such as VGA/SuperVGA tools. I don't have much
- interest in those environments. Perhaps someone else will start a mini-Howto
- for those tools.
-
- Most of the information here is based on information I've gathered on my own
- over the Net. Terminology is taken, when needed, from Computer Graphics:
- Principles and Practice, 2nd Edition by Foley, Van Dam, et al. I will not
- attempt to make this an introduction to computer graphics, however. There
- are references included in the subsection titled Texts on Computer Graphics
- and at the end of this document in the subsection titled References for
- serious minded graphics programmers.
-
- Where to get this software
-
- Most of the software listed in this document is available either in the
- various Linux distributions in the X11 trees or from the sunsite archives
- and its mirrors. A few items are available only via a commercial vendor.
- Most of these require upgrades to the X server to work, and only the
- commercial vendors servers have most of those extensions. Where a commercial
- vendor of a particular product is known I have given the name of the vendor.
- However, I don't have contact information for these. You'll have to search
- around for those (try the Linux Journal, which I know they advertise in).
-
- Updates and Errata
-
- If any readers find mistakes or omissions that I should know about I
- encourage you to contact me at mjhammel@csn.net. I know alot of the tools
- listed do not have up-to-date version information, so if you have
- information on these please send it to me. Please include why your
- information should be considered authoritative (ie where did you get it
- from). I also know that there are many tools available on the sunsite
- archives that I have not covered here. I simply haven't gotten to them all
- (I don't even have disk space for them all). If you have information on
- these, especially if you're the author of those tools, please send me email
- explaining the tools name, purpose, and where it fits into this document.
- The more specific you are in your information the better.
-
- Note: due to the outrageous fees imposed by my ISP I haven't been able to do
- alot of perusing the net lately. I'm going to switch ISP's, but I have to
- find a job first. When I do both, I'll move my web pages (including this
- document) to its new home and leave notices on my old site as to where the
- new site is. What this means is I won't be updating this document much in
- the next few weeks unless I get alot of feedback from the Linux community
- (via email). So please: feel free to speak up!
-
- The Four Basic Types of Graphics Tools
-
- When you get right down to it, there are basically four (4) different kinds
- of tools that deal with graphical images:
-
- * Image Viewing Tools
-
- These are tools which read in image files of various formats and
- display them visually. Some tools do nothing more than display the
- images. Many display them and allow you to manipulate them or convert
- them to other formats.
-
- * Image Creation Tools
-
- These are tools which allow the user to draw, paint, or render images.
- Drawing and painting tools are rather common on computer systems these
- days. Generally available rendering software, software which creates
- images from models, is relatively new, especially to Linux.
-
- * Image Manipulation Tools
-
- Manipulation tools allow a user to take an existing image and change it
- in some way, usually on a pixel by pixel basis. The manipulation will
- change colors, hues, color-depths, and a variety of other things.
-
- * Image Conversion Tools
-
- Image files come in many formats. Although there are a number of
- formats that are quite popular, none is the defacto-standard. Viewing,
- creation, and manipulation tools generally support a variety of
- formats. However, its possible that you'll come across a format that a
- particular tool does not support. In this case you'll need to conver
- the image from the first format into one your other tool supports. This
- is where the conversion tools come into play.
-
- Each of these will be covered in length in this document. It is interesting
- to note that many of the tools discussed will overlap more than one of these
- types. For example, tools that create images are seldom very interesting
- unless you can view what they've created.
- [ArroContents
-
- --------------------------------------------------------------------
-
- Graphics Basics
-
- [Updated!] File Formats
-
- There are 100's of different formats used for graphics images on computer
- systems(Graphics1). Some of the more popuplar static formats are:
-
- * GIF - Graphics Interchange Format originally from Compuserve. GIF is
- 8-bit color, lossless and is good for synthetic (line drawings,
- "cartoonish") images, and doesn't compress well.
- * JPEG - from the Independent JPEG Group, JPEG supports 24-bit color, is
- lossy, works well for realistic (scanned photos, hight quality
- anti-aliased renderings with smooth changes in color and shading, etc)
- images and compresses well.
- * TGA - formerly from TrueVision in support of their Targa display
- adapter. The TGA format is normally used for 24-bit color images, but
- supports 8, 16, 24 and 32-bit (24 bits for image data and 8 bits for
- alpha channel) images too.
- * XBM - X Bitmaps (grayscale bitmaps)
- * XPM - X Pixmaps (color bitmaps)
- * PNG - Portable Network Graphics, from the PNG group, supports bit
- depths from 1 (mono) to 64 (super-truecolor + alpha). PNG was developed
- because GIF compression was patented by Unisys and couldn't support
- 24-bit or alpha images. Compresses better than GIF, but not as well as
- JPEG.
-
- Lossy means that parts of the image data are discarded. So if an image is
- compressed, some of the image data is lost. If the image is decompressed and
- compared to the original, there will be missing data. Generally, the data
- lost during compression is redundant information and doesn't affect the
- visual appearance of the image. However, at higher compression ratios the
- lost data is not redundant and the quality of the image degrades.
-
- Lossless means that no data is lost during compression. TGA, XBM, XPM, and
- PNG are all lossless formats.
-
- Alpha refers to the transparency of images. A full alpha channel in an image
- allows for any level of transparency (from fully opaque to completely
- transparent) across the entire image. GIF and PNG support palette based
- transparency where a single pixel value is the transparent color. However,
- with GIF the pixel color is either fully opaque or fully transparent. PNG
- supports a range of transparency for the transparent color index. PNG also
- supports, along with TGA, a full alpha channel.
-
- There are not nearly so many animation formats, especially those that are
- available for Linux systems. A couple of the more commonly known formats
- are:
-
- * MPEG - from the Motion Pictures Experts Group
- * FLI/FLC - originally from AutoDesk Animator, FLI supports 256 color at
- 320x240 resolution and FLC supports 16 bit color at higher resolutions
- * AVI
- * Quicktime - from Apple Computer
-
- See the section titled Static vs Animated Images to learn more about the
- differences in image types.
-
- Each of these formats is well suited for different situations. GIF and JPEG
- images are currently the only widely supported image types for Web browsers.
- TGA provides 24-bit images, which means when reducing the image size the
- quality of the new image is likely to be nearly as good as the original. PNG
- is a portable format that was recently developed in light of copyright or
- patent issues for other formats.
-
- Which format you use is dependent on which tool you use and the environment
- in which you wish to use your images. Most tools support the GIF format and
- many support JPEG. If you're doing Web page development you will be working
- primarily with these image types when integrating your images into your
- pages. However, you may find that creating the images will require some
- other format, such as TGA for 3D images (depending on what tools you use).
- If this is the case you will have to deal with image conversion tools to get
- your image into the right format.
-
- Pixels vs Primitives and Rendering vs Drawing
-
- A pixel, or "picture element", is one point on the screen. It can be one
- color or one shade of gray. A graphics primitive is a shape, like a circle,
- sphere, box, or torus. To display primitives any number of pixels can be
- used. Tools that allow the user to create primitives are generally referred
- to as drawing or paint programs. Tools which are concerned with computing
- the color of individual pixels based on information about primitives
- (models) are called renderers. This process, computing pixel values from
- primitives, is also called rasterization.
-
- This may seem a little confusing when you consider some paint programs allow
- you to set the color of individual pixels (such as using the Fat Bits option
- in xpaint). However, setting this color by hand is tantamount to drawing a
- line (another type of grapichs primitive) that is really short. In this
- case, the tool is not determining the pixel value based on model
- information. It is simply painting a pixel based on direct user feedback
- (and nothing else).
-
- Life is never so simple and you'll find the line between these definitions
- blurs as you learn more about graphics tools, but eventually you won't
- really care. You'll be able to know what you need to do and what tool can do
- it, regardless of how its classified.
-
- Static vs Animated Images
-
- Static images are like paintings or photos. Most tools available deal either
- primarily or only with static images. Animated images can be created either
- by stringing static images together into a particular format and using
- another tool to play them back (such as mpeg_play) or by using a programming
- language specifically designed for creating animations. Examples of such
- languages (API's actually) are OpenGL and the PEX/Phigs X extensions.
-
- Both types of tools will be covered by this document.
-
- Live Video
-
- One of the new forms of video adapters to come to market recently are the
- live video adapters. The adapters allow external sources, such as video
- cameras or VCRs, to connect directly to a PC and display on the users
- monitor. There is an extension to the X protocol to handle live video that
- is called xvideo. However, there are few applications available that make
- use of this extension. Of the 3 main X servers (XFree86, X Inside's
- Accelerated X, and the server from MetroX) available for Linux, only the two
- commercial versions support xvideo. Since this capability is still
- relatively new, it won't be covered in this document at the current time. As
- I get more information or new tools become available, I may add a section
- devoted to live video applications.
-
- System Requirements
-
- All the tools covered by this document require that the user have a properly
- installed Linux system. Most require a properly installed X environment,
- including the X shared libraries and an X server. A few tools require
- special extensions to the X server. Any special requirements, above the need
- for Linux and generic X Windows support (such as the X server extensions),
- will be listed with each of the tools.
-
- A few words about hardware vs. software acceleration.
-
- The architecture of the X windows system doesn't allow for applications to
- make direct use of video hardware. That responsibility falls to the X
- Server. Because of this, users with specialized hardware which can speed up
- graphics display, such as using MPEG hardware, cannot expect the
- applications to make use of this hardware. The applications are written to
- use the available API's which the X server can understand. Some of these
- allow the server to make use of special hardware (like the X Video
- extension). Other server extensions operate transparently to the
- applications. This means that the application cannot even ask for such
- support - it is up to the server to either support the hardware or not.
-
- Some accelerations are handled in the server software instead of in
- hardware. An example of this is the 1.2 Accelerated X server from X Inside,
- which has software acceleration for its OpenGL support. This means that the
- OpenGL API is supported, but the server doesn't make use of specific
- hardware designed to aid programs which use this API. Instead, the server
- attempts to speed of graphics dispaly of OpenGL programs through various
- software tricks and techniques.
-
- Texts on Computer Graphics
-
- These are a few references for graphics in general. Other reference material
- that is specific to a tool will be listed with that tool in the following
- sections.
-
- * Foley, van Dam, Feiner and Hughes; Computer Graphics: Principles and
- Practice 2nd Ed
- Make sure you grab the 2nd Edition that uses C instead of Pascal!
- There used to be an automatic email server for this text. Try email to
- graphtext@cs.brown.edu with "Subject: Get-Text-Bug-List". Also,
- "Subject: Help" returns other services provided.
-
- * Foley, et al; Introduction to Computer Graphics, 1994
- This is a stripped down version of the previous reference, suitable for
- an introductory computer graphics course. This one apparently only
- supports C (ie there isn't a Pascal version).
-
- * Alan Watt; 3D Computer Graphics
-
- * Alan and Mark Watt; Advanced Animation and Rendering Techniques Addison
- Wesley, 1994 Despite the title, most of the book is dedicated to
- Computer Graphics (Rendering) and not to Animation.
-
- * Rogers and Adam; Mcgraw Hill; Mathematical Elements for Computer
- Graphics
-
- * Cohen/Wallace; Radiosity and Realistic Image Synthesis
-
- * Hearn and Baker; Computer Graphics, 2nd edition, March 1994
-
- * Hill; Computer Graphics, December 1989
-
- * Angel; Computer Graphics, 1989
-
- For more information about doing graphics on Unix systems, please
- see my Raytracing and other 2D/3D graphics for Unix Systems web
- page.
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Image Viewing Tools
-
- Viewing tools allow a user to display an image. This includes tools which do
- no more than display the image once or place it on the background of an X
- display. Generally tools that allow you to view an image also allow you to
- do something else with it. This section is just for those people who wish to
- find a tool for simply viewing images.
-
- * xsetroot
- Generally available with the base X11 installations and can be found in
- /usr/bin/X11. Allows the user to display an image as the background to
- their X display. This is pretty nifty to do, but if you're on a slow
- machine or if you have 16M or less of memory it might be wise not to
- use this. Having fancy images as a background slows window redraws when
- you move them around.
-
- * xsetbg
- Generally available with the base X11 installations and can be found in
- /usr/bin/X11. However, this may not be in every distribution. xsetroot,
- which does basically the same thing, might be more likely to be in a
- distribution that does not have xsetbg.
-
- * xwud
- Generally available with the base X11 installations and can be found in
- /usr/bin/X11. This tool is used to view X window dumps (image files in
- xwd format) created with xwd or other tools.
-
- * xv
- Far and away the best image viewer available, xv includes Postscript
- documentation of over 100 pages. This product is shareware. The latest
- version is 3.10a. Most distributions contain a version of xv although
- the version may not be the latest. xv is more known for its image
- manipulation capabilities and will be discussed in more detail in the
- section titled Image Manipulation.
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Image Creation Tools
-
- Creation tools include those which permit the user to use an electronic pen
- or pencil to create pictures, much like an artist on a canvas. They also
- include tools which allow a user to model pictures, similar to CAD (Computer
- Aided Design) programs, and then use those models with other tools to
- actually create the final image. Finally, any tool which provides an
- Application Programming Interface (API) which programmers can use to create
- images are also included.
-
- Drawing and Paint Programs
-
- * xpaint - version 2.1.1 by David Koblas
- File Formats Supported: TIFF, PPM, GIF, XBM, PS, XPM, XWD
-
- Generally available with the X11 installations on most distributions
- and can be found under /usr/bin/X11. xpaint is comparable to tools such
- as MacPaint or MS-Paint (or whatever the Microsoft paint program is
- called), although not nearly as feature-rich. There is another tool
- called spaint in
- ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/draw/, but I've
- never used this and don't really know what it does.
-
- A beta version of Xpaint 2.2 from Torsten Martinsen
- (bullestock@dk-online.dk) is now available. Based on the announcement
- posted to comp.os.linux.announce it appears quite a few features have
- been updated or added. I build it on my systems but he left some silly
- things in the Imakefile's (hard coded the path to a config file). Other
- than that it appears to build fine.
-
- * tgif
- File Formats Supported: I'm not clear on this one, but I think it
- supports XBM, XPM, EPS, GIF and OBJ (which may be a format specific to
- tgif).
-
- This tool doesn't come in the base X11 installations but is available
- on sunsite.unc.edu. I suspect its also available as a separate package,
- possibly associated with the X packages, in the various distributions.
-
- tgif is a drawing program very much of the caliber of MacDraw. It has a
- very extensive feature set and deals well with primitives and text. It
- does all its work in 2D. The tool is based on Xlib and Xt, so Motif is
- not required.
-
- * [Updated!] The GIMP - The General Image Manipulation Program
- File Formats Supported: Depends on plug-ins that are configured. If the
- correct libraries are available on your system then TGA, GIF, JPEG,
- TIFF, XPM, and PNG are available.
-
- The GIMP is a tool similar in style to Adobe Photoshop but not nearly
- so feature rich. It's being written by a couple of undergrads at UC
- Berkley and is relatively new in its life cycle. The current release
- for Linux is 0.54.
-
- Although The GIMP does allow for some image creation, its best use is
- in image manipulation. More details on this application will be found
- in the section titled Image Manipulation.
-
- Raytracers and other 3D tools
-
- These are the really fun tools. Raytracing applications take a model, which
- is a description of a scene or collection of one or more 3D objects, and
- determine how the scene would look in 3 dimensions. They take into
- consideration lighting, camera angles, reflection, textures, and lots of
- other things in determining the color of an individual pixel. One thing they
- don't do is determine how an object is lit by reflected light. That process
- is called radiosity. Some raytracers are starting have radiosity algorithms
- added to their code. Alot of the realism of Toy Story came from radiosity
- effects.
-
- * [Updated!] POV-Ray - The Persistance of Vision Raytracer
- Current Version: 2.2, with a 3.0Beta binary available (source for 3.0
- is not available for the Beta, but will be when the Beta period has
- expired). Current beta version is at revision 7.
- File Formats Supported: POV-Ray 2.2 outputs in TGA, RAW, and DUMP
- formats, although the latter two are almost never used. There are
- patches for 2.2 that allow it to support ppm, PNG, and JPEG output. It
- reads in a model file that is ASCII text, formatted in a language
- specific to POV-Ray. The a beta version of 3.0 available for Linux
- supports TGA, PPM, and PNG formats.
- Web Site: http://www.povray.org
- Newsgroups: comp.graphics.rendering.raytracing
-
- POV-Ray is a truly wonderful program. It started life on Microsoft
- based systems and has been ported to many Unix platforms, along with
- Macintosh, Amiga and a few others. The program is maintained by a
- volunteer network of developers, is well coordinated and has its own
- domain (povray.org). There have been at least 3 texts published (Young3
- & Enzmann4) related to POV-Ray, and more are no doubt in the works.
-
- POV-Ray has a very large following that have created a number of
- utilities for use with the renderer. The POV-Ray web site doesn't
- easily distinguish tools that are available for Unix (ie Linux)
- platforms. I set up a Web page specifically to list and discuss these
- utilities at http://www.csn.net/~mjhammel/povray/povray.html.
-
- * Polyray
- File Formats Supported: unknown
- Web Site: http://www.inf.fu-berlin.de/~leitner/grafik/polyray.html
- Newsgroups: comp.graphics.rendering.raytracing
-
- Polyray is a raytracer. I don't know much more about it than that. I
- just haven't had time to explore it yet. Polyray is available from the
- sunsite archives and its mirrors.
-
- One user of Polyray reported:
-
- Polyray is a version of POV-Ray that does function surface
- evaluations. Its pretty cool if you like doing the math for
- topologies rather than using a script to string a bunch of
- objects together.
-
- * Radiance
- File Formats Supported: unknown
- Web Site: http://radsite.lbl.gov/radiance
- Newsgroups: comp.graphics.rendering.raytracing
-
- I know even less about Radiance, except that it appears to be available
- for Linux systems from the Sunsite archives. A version also appears on
- the Slackware 3.0 CD-ROM, so I'm guessing its also on many of the other
- Linux CD-ROM distributions.
-
- * Rayshade
- File Formats Supported: unknown
- Web Site:
- Newsgroups: comp.graphics.rendering.raytracing
-
- Rayshade also appears available for Linux systems from the Sunsite
- archives. I don't know anything else about it, however.
-
- * BMRT - the Blue Moon Rendering Tool
- File Formats Supported: RIB
- Web Sites:
- o ftp://ftp.gwu.edu/pub/graphics/BMRT.
- o http://www.seas.gwu.edu/student/gritz/bmrt.html
-
- Newsgroups: comp.graphics.rendering.renderman
-
- A Renderman ((C) Pixar) compliant rendering engine. The following is
- taken from the comp.graphics.rendering.renderman newsgroups FAQ:
-
- Larry Gritz has a shareware implementation, called the Blue
- Moon Rendering Tools (BMRT). It supports ray tracing and
- radiosity, area lights, full implementation of SL, volume and
- imager shaders, and other advanced features. It also comes
- with real-time RIB previewers (under X11 and/or OpenGL). BMRT
- runs on SGI, HP, NEXTSTEP, Linux, IBM RS/6000, and DEC Alpha.
- There are no Mac, Windows, or DOS versions. It is available
- from ftp://ftp.gwu.edu/pub/graphics/BMRT. More information
- about BMRT is available from
- http://www.seas.gwu.edu/student/gritz/bmrt.html
-
- This tool is distributed in binary format for Linux and is very easy to
- set up and run. However, how to create the shaders and RIB files is not
- readily apparent. The sced modeler can output RIB files but I'm not
- clear yet on how shaders are created. I would consider this a fairly
- advanced tool, not for the beginner. Start with POV-Ray first, since it
- has quite a bit of printed documentation and a large set of development
- tools, then move into tools like BMRT.
-
- Fractal-based tools (heightfields, etc)
-
- These tools allow the user to create various sorts of images, many of which
- can be used by the 3D raytracers to produce moons, mountains, and other
- surface features.
-
- * HF-Lab v0.81
- File Formats Supported:GIF, POT, TGA, PGM, MAT, OCT
- Web Site: http://jumpjibe.stanford.edu:8080/beale/gforge/
- Newsgroups: comp.graphics.rendering.raytracing
-
- This tool has a text based interface that allows the user to create
- fractal surfaces, viewable in 2D and 3D. Although is uses a text
- interface for input, the viewing windows are X windows. This is a very
- interesting program thats easy to learn and use.
-
- * xfractint
- File Formats Supported: GIF, POT (which is 16-bit GIF)
-
- I've not used this program, although it appears to come standard with
- most Linux distributions. It is a Unix port of a DOS program, and in
- fact has an option to "Shell to DOS". The man page is terse and I don't
- appear to have the docs which come with the source. This might be
- available from sunsite or ftp.x.org.
-
- Modelers
-
- Modelers are tools which are used to create the scene files used as input to
- 3D renderers (see above). Their output file formats are not image file
- formats, but rather formats specific to various renderers. Some modelers can
- also inport files of various formats. Again these import files are not image
- files, but other forms of model scene files.
-
- * Sced v0.94
- File Formats Supported: POVRay, Radiance, Rayshade, Renderman (RIB),
- VRML
- Web Site: http://http.cs.berkeley.edu/~schenney/sced/sced.html
- Newsgroups: comp.graphics.rendering.raytracing
- comp.graphics.rendering.misc
-
- Sced is a constraint based scene editor, or authoring tool if you're
- into VRML. It is a program for creating 3d scenes, then exporting them
- to a wide variety of rendering programs. Programs supported are:
- o POVray
- o Rayshade
- o any VRML browser
- o anything that reads Pixar's RIB format
- o Radiance
- o Plus a couple of local (sced specific) formats
-
- Sced uses constraints to allow for the accurate placement of objects,
- and provides a maintenance system for keeping these constraints
- satisfied as the scene is modified.
-
- Sced is available from ftp://ftp.cs.su.oz.au/stephen/sced and (soon, if
- its not already there) ftp://ftp.povray.org/pub/pov/modellers/sced.
-
- * Sceda v0.80
- File Formats Supported: POVRay, Radiance, Rayshade, Renderman (RIB),
- Genray, Genscan
- Web Site: http://www.cyberus.ca/~denism/sceda/sceda.html
- Newsgroups: comp.graphics.rendering.raytracing
- comp.graphics.rendering.misc
-
- Sceda is a version of sced that supports animation. It allows a user to
- model a scene, then describe how objects in that scene will move and
- where they move to. Sceda then creates a series of intermediate scenes
- that can be used as input (as individual files) to the rendering engine
- to create an animation.
-
- Sceda is slightly behind Sced in version, but Stephen Chenney says
- thats his fault and is hoping to fix that soon.
-
- * [Updated!] Midnight Modeler v2.1c
- File Formats Supported: MNM, RAW, DXF
- FTP Site:
- ftp://sunsite.unc.edu/pub/Linux/apps/graphics/rays/pov/mnmlinux-pl2.tgz
-
- ftp://sunsite.unc.edu/pub/Linux/apps/graphics/rays/pov/mnm-linux-pl2.static.ELF.gz
-
- You need both files to run the ELF version (I think - you might only
- need the second file if you don't have ELF shared libraries on your
- system already).
- Newsgroups: comp.graphics.rendering.raytracing,
- comp.graphics.rendering.misc
-
- This is a port of a DOS program that is very CAD-like. The interface is
- quite nice, however the program doesn't use X application defaults, so
- setting the colors is difficult. On 256 color displays you're likely to
- get alot of color flashing. The program is only available in binary,
- since the original author of the DOS version apparently doesn't like to
- give out his source.
-
- Programming Interfaces (APIs)
-
- An alternative to creating 3D animations by stringing together a series of
- static images is to create a program that creates the images on the fly.
- This is useful for having interactive environments where the images
- displayed can depend on user input.
-
- * OpenGL
- Web Site:
- o http://www.digital.com:80/pub/doc/opengl/ - man pages
- o http://www.sgi.com/Technology/openGL/glspec/glspec.html -
- specifications
-
- Newsgroups: comp.graphics.api.opengl, comp.graphics.api.inventor
-
- OpenGL comes from Silicon Graphics, Inc. and is a programming language
- that has gained alot of popularity in the recent past. I know of a
- couple of texts that are available:
- o OpenGL Programming Guide, by Neider, Davis, and Woo;
- Addison-Wesley
- o OpenGL Reference Manual, OpenGL Architecture Review Board;
- Addison-Wesley
- o At least one text on OpenInventor, a less primitive language for
- creating OpenGL applications (at least I think thats what it is).
-
- Sample source for the Programming Guide is available from
- ftp://ftp.sgigate.sgi.com/pub/opengl, although the text says many
- implementations come with this source already optimized for your
- system. I don't know if thats true or not for Linux implementations.
-
- OpenGL implementations are available as server extensions and a set of
- programming libraries from the two commercial X server vendors (X
- Inside and MetroX).
-
- * MesaGL 1.2.6
- Web Site: http://www.ssec.wisc.edu/~brianp/Mesa.html
- FTP Site:
- o ftp://sunsite.unc.edu/pub/Linux/X11/libs/Mesa-1.2.7.tgz
- o ftp://iris.ssec.wisc.edu/pub/packages/development/graphics/mesa
-
- Newsgroups: comp.graphics.api.opengl
- Mailing List: listproc@iqm.unicamp.br
- use the following in the text of them message:
- sub mesa <you name>
-
- This is a freely-available version of the OpenGL API. Since it has no
- server extensions, all the accelerations of the OpenGL specification
- are handled in software. This might be a good place to learn the OpenGL
- language. Building the libraries and associated programs is very easy.
- I tried the samples and demo programs on my 486/66DX2 with 40M memory.
- Most were a bit sluggish. I would think if you're going to get into
- interactive 3D programming you might consider at least a Pentium 90 or
- better. Thats just a suggestion, though. Remember: faster graphics
- cards (ones with special hardware acceleration) won't help for Mesa
- since it doesn't make use of the features of those cards (the X server
- would have to do that).
-
- The README file for Mesa states that Mark Kilgard, the author of Mesa,
- writes a column about OpenGL in the X Journal and that if you're
- looking to learn about writing OpenGL programs this might be a good
- place to start. The examples are written in GLUT (the OpengGL Utility
- Toolkit, which is discussed elsewhere in this document). Disclaimer: I
- have no association with the X Journal.
-
- * GLUT - GL Utility Toolkit 3.0
- Web Site: http://reality.sgi.com/employees/mjk_asd/glut3/glut3.html
- FTP Site: ftp://sunsite.unc.edu/pub/Linux/libs/X/glut-3.0.tgz
-
- GLUT provides a simple portable, window-system independent interface
- allowing you to write production OpenGL applications quickly and
- easily. This is a replacement for aux and tk toolkits. The aux and tk
- toolkits are used in the OpenGL Programming Guide and in SGI's demos,
- respectively. However, they were not intended for production
- applications.
-
- If you're going to write Mesa/OpenGL applications you would do so using
- aux, tk, GLUT or GLX (not discussed in this document). This is similar
- to saying "write X applications using Motif or the Athena Widgets, not
- by using Xlib directly". Or at least I think it is.
-
- * [New!], lib3D Library - v0.1.1
- FTP Site: ftp://sunsite.unc.edu/pub/Linux/libs/graphics
-
- This library was just uploaded to sunsite so it may still be in the
- Incoming directory.
-
- This is the initial release of a 3D z-buffering rendering library. It
- uses a hierarchy of models, cameras and lights that can be manipulated
- by the user through the API.
-
- * SRGP / SPHIGS - The Simple Raster Graphics Package and Simple PHIGS
- Web Site: unknown
- Newsgroups: unknown
-
- SRGP is a library for teaching 2D computer graphics. It is the primary
- tool covered in Computer Graphics: Principles and Practice (Foley2) in
- chapters 2 and 3. It requires no special server extensions to use.
-
- SPHIGS is a simplified version of the PHIGS standard for 3D floating
- point heirarchical graphics. It too comes as a library that requires no
- special extensions to the X server to work. The
-
- Both of these are available in the sunsite archives under
- ftp://sunsite.unc.edu/pub/Linux/X11/libs.
-
- * PHIGS / PEX
- Web Site: unknown
- Newsgroups: comp.graphics.api.pexlib
-
- I have very limited knowledge of these two other than they are
- standards for 3D graphics. PHIGS, the Programmer's Heirarchical
- Interactive Graphics Standard supports nested hierarchical groupings of
- 3D objects. PEX, I think, is an extension to the X protocol that
- supports PHIGS (but I'm not completely sure).
-
- There may be support for these in some form from the XFree86 folks. I
- haven't kept up to date on that particular server. X Inside was working
- on support but I don't know if they have a commercially available
- product. I don't have any information on support from MetroX.
-
- I've not seen any software only (libraries, etc) that support these.
- I'm under the impression that you have to have a PEX capable server in
- order to do PHIGS. Hopefully someone will contact me after reading this
- document to clear things up.
-
- * Java
- Web Sites:
- o The Java-Linux Porting Project
- o Java(tm) Home Page
-
- Newsgroups:
- o comp.lang.java - general Java discussion
- o alt.www.hotjava - discussion of the HotJava browser
-
- Mailing Lists:
- o java-linux-request@java.blackdown.org - (Maintained by
- karl@blackdown.org) Discussions and developments concerning the
- port of Java to Linux. Send email to
- java-linux-request@java.blackdown.org with the word `subscribe' in
- the subject to be added to the list.
- o java-linux-announce-request@java.blackdown.org - (Maintained by
- karl@blackdown.org) Moderated list for announcements concerning
- the Java-Linux porting projects. Please send e-mail to
- java-linux-announce-request@java.blackdown.org with the word
- subscribe in the subject, to be added to the list.
-
- I just started looking into Java and found a very nice place to start -
- the Sunsoft Press JAVA Series. Each of these, there are 3 texts, comes
- with a CD (the same CD in each). The first text is called Instant Java.
- It is really nothing more than users guide for a set of Java applets
- that are on the CD. My first try at using any of these produced a
- animatation of a logo for the local Linux users group with very little
- trouble. The problem with this is that to make the animation viewable
- on the net, the images have to be very small in size and there
- shouldn't be too many of them. 8 images worked ok (each about 20k), but
- Netscape couldn't load 15 images (same sizes). If you want to just see
- what Java can do, this is a nice book with which to experiment without
- having to do any real programming (but you do need to understand HTML).
-
- An important point to this text and the pre-compiled applets on the CD
- is that you don't need to download the Java Developer's Kit (JDK) to
- use them. You only need the JDK (which has been ported to Linux) if you
- want to write your own Java applets and compile them.
-
- The other texts in the series are more about programming in Java. I
- haven't gotten that far yet. Hey, I just started. Cut me some slack.
-
- Another very good source of information about Java on Linux is Eric
- Raymond's Java on Linux HOWTO.
-
- * VRML
- Web Site: unknown
- Newsgroups: unknown
-
- There apparently is only one VRML browser available for Linux at this
- time: VRweb from the Univ. of Graz in Austria. It does not fully
- support all the VRML specifications yet. It seems that in order to use
- VRML you not only need to configure your own system but your ISP (or
- whoever runs your Web server that serves your Web pages) must configure
- the Web server to understand the vrml mime type.(Lutowski5)
-
- There are few tools that natively create VRML content but there are a
- few converters which will take some other format and create VRML
- files.(Lutowski5) I believe the SCED modeler will output VRML files
- directly.
-
- Note: It is this authors opinion that the VRML market is at least 1.5
- to 2 years away from being any use to the personal computer user. If
- your interested in why I think so, send me email and I'll get on my
- soapbox. <grin>
-
- Image Libraries
-
- There are a number of libraries that are freely available for use in
- non-commercial and even commercial development tools. These libraries
- provide an interface for an application to output images in some specified
- format. You should check the Licenses or Copyright information in each to
- how these libraries may be used.
-
- * TIFF Library
- Web Site: unknown
- Newsgroups:
-
- * PNG Library - 1.0 beta 2 - version 0.88
- Web Site: http://quest.jpl.nasa.gov/PNG/
- FTP Site: ftp://ftp.uu.net/graphics/png/src/
- Newsgroups:
-
- PNG is a new file format that is catching on quite quickly. It was
- developed in response to the problems associated with the GIF format
- along with some possible legal problems regarding the compression
- format used with GIF.
-
- There is a fairly good document (libpng.txt) which explains how to use
- the library but its not a straight reference guide for the API. This
- library requires the use of zlib 0.95 or later. The zlib library is
- available from the PNG ftp/http site or from
- ftp://ftp.uu.net/pub/archiving/zip/doc/.
-
- * JPEG Library
- Web Site: unknown
- Newsgroups: unknown
-
- * MPEG Library
- FTP Site: ftp://ftp.mni.mcgill.ca:/pub/mpeg
- Newsgroups: unknown
-
- This library is taken from the Berkely MPEG player and is used to
- decode and dither MPEG movies. I believe Sunsite (and its mirrors) also
- have copies of this library.
-
- Other Image Creation Tools
-
- * xwd - X Window Dump
- Generally available with the base X11 installations and can be found in
- /usr/bin/X11. This tool is used to create X window dumps (image files
- in xwd format). It is a command line drive program that allows you to
- select an X window (which includes the root window and all the visibile
- windows) to dump to a file. This is useful for debugging windowing
- programs.
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Image Manipulation Tools
-
- Static Image Manipulators
-
- * xv
- File Formats Supported: GIF, JPEG, TIFF, PostScript, PBM/PGM/PPM (Raw),
- PBM/PGM/PPM (ASCII), XBM, XPM, BMP, Sun Rasterfile, IRIS RGB, Targa
- (TGA), FITS, PM
- Web Site: ftp://ftp.cis.upenn.edu/pub/xv
- Newsgroups: unknown; probably any of the comp.windows.X groups
-
- First, xv is shareware for personal use. Commercial, Government, and
- Institutional users must register their copies. Personal users who send
- $40 or more for registration($25 is all thats asked) will get a
- printed, bound copy of the manual, which is well over 100 pages now.
-
- I can't say enough good things about this tool. First, to let you know
- how classy it is, keep an eye out for news reports about JPL or NASA
- folks. I've noticed not just a few times that when they show images
- that they received back from planetary probes they tool they use to
- display them is xv! Thats probably a more sophisticated version than
- the shareware one. Nonetheless, it gives you an idea of the clout xv
- has.
-
- xv is a viewer and manipulator of images. It is not used to create
- images. The color editor window is extremely powerful. There are so
- many features here I can't imagine I've even tried 1/2 of them yet.
-
- * NetPBM / pbmplus
- These tools are the most powerful that I've found for file format
- conversion. Because of this, I'll reserve detailed discussion of these
- packages until the Conversion Tools section.
-
- One thing I will mention is that most (if not all) of the tools in this
- package for manipulating images require that you first convert your
- image to ppm or pnm format. An example is ppmquant, which takes an
- image of some arbitrarily large number of colors and converts to one
- with a much smaller range of color index values. This is useful to keep
- from using up an entire color palette in X. By doing this the user can
- reduce the flashing effect often seen with programs that use a large
- number of colors on displays with only 256 available colors.
-
- * ImageMagick v3.7.2
- File Formats Supported: AVS, BMP, CMYK, EPS, EPSF, EPSI, FAX, FITS,
- GIF, GIF87, GRAY, HISTOGRAM, HTML, MAP, MATTE, MTV, NULL, PCD, PCX,
- PDF, PICT, PNM, PS, PS2, RAD, RGB, RGBA, RLA, RLE, SGI, SUN, TEXT, TGA,
- TILE, UYVY, VICAR, VID, VIFF, X, XC, XBM, XWD, YUV, YUV3, PNG, JPEG,
- TIFF, PhotoCD
- Note: support for some of these require extra libraries or programs not
- included with ImageMagick
- Web Site: http://www.wizards.dupont.com/cristy/ImageMagick.html
- Newsgroups: unknown
-
- This tool appears rather sophisticated, but I have yet to use it. I
- have only heard good comments about it. My problem is I don't have all
- the extra libraries on my system to build it yet. If you wish to use
- JPEG, PNG, TIFF, HDF, Ghostscript, JBIG, MPEG, PICT, Radiance, RLE, or
- XPM formats you'll need to make sure you have the appropriate external
- libraries or applications that ImageMagick will need. The libraries and
- applications are not included in the distribution, however the README
- does list where to get them.
-
- * CJPEG / DJPEG - from the Independent JPEG Group (IJG)
- File Formats Supported: unknown
- Web Site: ftp://ftp.uu.net:/graphics/jpeg
- Newsgroups: unknown
-
- These tools are referenced in the xv postscript documentation. They are
- shipped as demos with libjpeg and are used for converting to/from JPEG
- from/to other image formats.
-
- * [Updated!] The GIMP - The General Image Manipulation Program
- File Formats Supported: Depends on plug-ins that are configured. If the
- correct libraries are available on your system then TGA, GIF, JPEG,
- TIFF, XPM, and PNG are available in the default distribution. There is
- at least one plug-in, for PhotoCD's, available for other file formats.
- Web Sites:
- o http://www.xcf.berkeley.edu/~gimp - the home page for the GIMP
- o http://ww.mint.net/~xach/xach.html - various GIMP information,
- including a Tips, Tricks and Tutorials page.
- o http://www.worldserver.pipex.com/home/adam/gimp/plug.html - The
- GIMP Plug-In Registry
- o http://www.mint.net/~xach/gimp/plugin_examples/examples.html -
- GIMP Plug-In Examples
-
- FTP Site: ftp://ftp.xcf.berkeley.edu/pub/gimp
- Newsgroups: unknown
- Mailing List: majordomo@xcf.berkeley.edu The text of the message should
- be a single line with the following in it:
- subscribe gimp-list
-
- There is a hypermail archive of the discussions on this list maintained
- at http://www.nesc.k12.ar.us/~garman/gimp-list/.
-
- The GIMP provides
- o Multiple selection tools including rectangle, ellipse, free,
- fuzzy, bezier and intelligent.
- o Transformation tools including rotate, scale, shear and flip.
- o Painting tools including bucket, brush, airbrush, clone, convolve,
- blend and text.
- o Effects filters (such as blur, edge detect).
- o Channel & color operations (such as add, composite, decompose).
- o Plug-ins which allow for the easy addition of new file formats and
- new effect filters.
- o Multiple undo/redo.
- You can blend one image into another fairly easily. The GIMP Web pages
- have a short tutorial showing how this can be done.
-
- This tool is gaining support rather quickly. The last count had 34
- plug-ins finished, 3 in development and 6 planned. This is based on
- information from the maintainer of the plug-ins registry. I used some
- of the new plug-ins to create some new images for my Unix Utilities
- Page. Also, there is a growing number of web pages devoted to the GIMP
- (see above) with lots of really good information on how to use the
- plug-ins, add them to your GIMP source tree, tutorials, etc. The
- discussion group is made up mostly of programmers writing the plug-ins.
- I suspect, as fast as this tool is gaining popularity, that a
- discussion group for end-users will form soon as well.
-
- If you want to learn a little about things you might be able to do with
- a tool like The GIMP, check out the Kai's Power Tips and Tricks web
- page. This page is specifically for tools built for Adobe Photoshop,
- but it gives you an idea of some of the things The GIMP does now, and
- lots of what it could do with some external (ie plug-ins) development.
-
- Animated Image Manipulators
-
- I'm just getting started in learning about animation tools, so this section
- is still under construction. All those with information on these or other
- animation tools, please contact me. It should be noted that these tools may
- not even be manipulators at all. They may just be tools for creating and
- viewing images.
-
- * mpeg_play, mpeg_encode
- File Formats Supported: unknown
- Web Site: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/
- Newsgroups: unknown
-
- mpeg_play is available from the sunsite archives. I think mpeg_encode
- is also available there too. I've been told there are Linux binaries on
- the UCBerkeley web site listed above.
-
- Apparently these are quite powerful tools, but also are a bit involved
- to set up.
-
- * xanim
- File Formats Supported: xanim supports a ton of file formats. The
- following is taken from the man page for xanim and is slightly
- abbreviated:
- FLI, FLC, IFF, GIF87a, GIF89a, DL, Amiga PFX (may be disabled), Amiga
- MovieSetter, Utah Raster Toolkit RLE, MPEG Type I frames, WAV audio
- (only PCM audio codec)
- AVI formats:
- o IBM Ultimotion
- o JPEG
- o Motion JPEG
- o Intergraph JPEG
- o Microsoft Video 1
- o Uncompressed RGB (8 and 24 bit)
- o RLE
- o Editable MPEG
- Quicktime formats:
- o RAW - 4,8,16,24,24+, Gray 4 and Gray 8
- o Apple Graphics RLE
- o Apple Animation
- o Apple Video
- o SuperMac Cinepak
- o Component Video (YUV2)
- o Photo JPEG
- Web Site: http://www.portal.com/~podlipec/home.html
-
- XAnim is a program that can display animations of various formats on
- systems running X11. XAnim also provides various options that allow the
- user to alter colormaps, playback speeds, looping modes and can provide
- on-the-fly scaling of animations with the mouse.
-
- * FLI encoders
- File Formats Supported: unknown
- Web Site: ftp://www.pov.org/incoming
- Newsgroups: unknown
-
- Again, I don't know much about these tools. Terry Brown posted a note
- to comp.graphics.rendering.raytracing a few weeks ago that he had
- uploaded some FLI-based tools to the POV-Ray ftp site in the incoming
- directory. I don't know if they're still there or if they've been moved
- to a more appropriate directory.
-
- * Aero
- File Formats Supported: unknown
- Web Site: unknown
- Newsgroups: unknown
-
- This tool is a sort of modeler for creating animations. It is available
- from ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/. There are a
- number of files there related to aero, including a README. Other than
- that I don't know much about it.
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Image Conversion Tools
-
- Conversion tools allow a user to take an image that is one file format and
- turn it into another file format. These tools are very useful considering
- the number of differnt image formats that are out there!
-
- * xv
- See the section on Image Manipulation Tools
-
- * NetPBM / pbmplus
- File Formats Supported: 10x, 4425, acad, ascii, atk, bbnbg, bmp, cmuwm,
- ddif, epsi, epson, fits, fs, g3, gem, gif, go, icon, icr, ilbm, lispm,
- lj, ln03, lps, macp, map, mgr, mitsu, pbm, pcx, pgm, pi1, pi3, pict,
- pj, pjxl, pk, plot, pnm, ppm, ps, ptx, puzz, rast, rgb3, sgi, sir,
- sixel, tga, tiff, uil, x10bm, xbm, xpm, xwd, ybm, yuv, yuvsplit, zinc
- Web Site: unknown
- Newsgroups: unknown
-
- pbmplus is the older name for this set of tools. I don't know the
- difference between them as I've only used the pbmplus set. However,
- both sets are available from the sunsite archives.
-
- You can use NetPBM/pbmplus to convert many (but not all) of the formats
- supported from their current format intp ppm or pnm formats. From there
- you can manipulate the program using any of a great number of tools
- (such as ppmquant or ppmrelief), convert to another format such as pgm
- and then use other tools (pgmhist, pgmoil, etc), or convert to some
- final image format (ppmtogif, ppmtotga). The trick is to find the right
- set of tools to start with, the right set of intermediate tools, and
- the right set of tools for final conversion. It takes a little
- practice, but eventually their use becomes almost second nature.
-
- Since there are so many tools in these packages it is essential that
- you install the man pages too. Most man pages are rather small (since
- most of the tools do only one thing to an image) but many of the tools
- have one or two command line options (or more) that will come in handy
- when using them.
-
- * ImageMagick
- See the section on Image Manipulation Tools
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Tools yet to be evaluated
-
- There are a large number of tools of which I've heard or seen reference to
- but that I know next to nothing about. Below is a list of the tools I'll be
- looking into in the future (who knows when). If you have information about
- these tools please feel free to send it to me, especially if you are the
- tool author or maintainer of Web pages or other documents regarding these
- tools.
-
- * glut - I have this but haven't looked into it yet. Its associated with
- MesaGL (at the least) and I'll probably look into it when I get deeper
- into MesaGL.
- * khoros - http://www.khoros.unm.edu
- This URL takes forever to load through my ISP. I don't know if its the
- khoros' server side fault or my ISP's fault.
- * alchemy - http://www.handmadesw.com/hsi/products.html
- This is a commercial product of some kind.
- * python - http://www.python.org/sigs/image-sig/
- This URL has the same problem that the khoros one has.
- * Tools under ftp://sunsite.unc.edu/pub/Linux/X11/xapps:
- o geomview
- * Tools under ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics:
- o xmorph
- * Tools under ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/draw:
- o spaint
- o xfig
- o transfig
- * Tools under ftp://sunsite.unc.edu/pub/Linux/libs/X:
- o idraw - ftp://sunsite.unc.edu/pub/Linux/libs/X/iv3.1dist.tar.gz
- o YGL - ftp://sunsite.unc.edu/pub/Linux/libs/X/Ygl.3.0.3.tgz
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Other Topics
-
- Creating Web page graphics
-
- My whole purpose for learning all this stuff was to figure out how to use a
- Unix box (running on a PC) to create sophisticated graphics for web pages. I
- was sick to death of hearing about all the tools available for the
- Microsloth environment and was sure there were plenty of tools that could do
- the same or nearly the same things as the commercial MS packages. I was
- right, for the most part. The only tool that was missing was something that
- handled, using a GUI-interface, the types of image manipulation that tools
- like Adobe Photoshop could do. With the introduction of the GIMP this niche
- is filled. The GIMP has lots of problems, but its a terrific start and the
- authors design included the ability to add plug-ins right from the start. So
- now, if the Unix community complains no tools like Photoshop are available,
- the community has no one to blame but themselves.
-
- If you're going to use Linux to create Web page graphics you should get hold
- of the following tools at a minimum:
-
- * xpaint
- * xv
- * The GIMP
- * NetPBM/pbmplus
-
- I suggest gettig ImageMagick too, based on the praise I've heard from
- others. The GIMP is nice in that it allows you to create decent tiles for
- backgrounds. A tile is an image, usually fairly small, that is repeated on
- the background of a web page. The unique thing about a tile is that no
- matter what the color variances are along the top, the same variances follow
- along the bottom. The same is true along the sides. If this isn't true, the
- tile edges will be visible in your background. The GIMP allows you take any
- image and offset it along any edge, taking the offset amount and wrapping it
- to the other side. You then can use a blending tool to mask out the old
- edges (which will likely be quite visible). Viola! You have a seamless,
- tileable image!
-
- Be careful when creating backgrounds. The biggest problem with Web pages
- with nifty backgrounds is the lack of care taken to choose a reasonably
- contrasting font color. Having a dark purple background with dark blue text
- sucks. I like grayscale backgrounds. They aren't as colorful, but they can
- be just as snazzy images and, when the grayscale is light enough, a black or
- near black text is easy to read. Remember: the eyes that read your pages are
- not your own!
-
- You can use xv to view images from some CD of images (probably on a
- DOS-based CD-ROM of images) and then use it or xpaint or The Gimp to clean
- it up, add or blend it to another image, or whatever. I find using pbmplus
- utilities are better for converting image formats than xv since I can create
- transparent and interlaced GIF's with pbmplus, whereas xv doesn't appear to
- give me that opportunity.
-
- If you're interested in creating 3D images for your pages you should get
- hold of POV-Ray and the text Ray Tracing Creations (Young3). This is a
- terrific tool for creating 3D images, but its not a point-and-click
- interface. You have to manually edit ascii text files which are used as
- input to the program. Its really not as hard as it might sound. Once you
- learn how to create these scene files by hand you might consider getting a
- modeler, such as sced, which does allow a GUI-based interface to creating
- scene files. I don't suggest starting with a modeler first, though. It might
- seem like it would be easier, but trust me, its not.
-
- You can use POV-Ray to created 3D text as well, but you'll need to get one
- of the numerous utitlies that POV users have written: font3d. This tool
- allows you to take any set of TrueType font characters and turn them into 3D
- objects for use with POV-Ray. Pretty cool idea, if you ask me. NOTE: POV-Ray
- 3.0 has direct support for TrueType fonts, however I don't know if there is
- a one-to-one correspondence in features in 3.0 with font3d.
-
- For more information about Unix utilities for use with POV-Ray,
- please see my Raytracing and other 2D/3D graphics for Unix Systems
- web page.
-
- The output file from POV-Ray is TGA (Targa), which is a 24-bit image format.
- This gives about 16 million colors for the image, but you really don't want
- to use all that in your web page. Good web pages try to create images that
- use colors from the same, limited (like 256) color palette. Using xv and
- pbmplus on the TGA images will help to create decent 3D images that don't
- hog all the colors on your web pages.
-
- If you're getting into VRML or Java, 3D images are likely to be of some
- interest to you. Again, POV-Ray is a great tool for this. However, I haven't
- had time to research eith of these new languages so I don't know exactly how
- the 3D images would fit in. Hopefully I'll get to these before the end of
- this summer (or maybe if someone gives me a job doing it....)
-
- Fonts on Linux
-
- The fonts available with the various distributions of Linux are generally
- those found in the X11 package. This is a relatively limited set of fonts
- (compared to whats available under DOS, Windows, or even the Macintosh).
- There are three ways to add to this limited set:
-
- * Grab the freeware and shareware font collections from Sunsite or one of
- its mirrors. I don't know the exact URL, but the file names are
- freefonts-0.10.tar.gz and sharefonts-0.10.tar.gz. These are rather nice
- fonts and most are scalable but there are no True Type fonts in these
- sets.
- * Get the Caldera Linux package. This distribution includes a font server
- with a number of True Type fonts.
- * Mount a DOS partition and use the wide array of True Type fonts
- available for DOS.
-
- Why are True Type fonts important? Mostly for their use in 3D rendering
- tools. POV-Ray 3.0 supports True Type fonts directly and the font3d utility
- for POV-Ray 2.2 will only work with True Type fonts. If you're interested in
- just adding some simple 2D text to some graphic image, you can use the X11,
- freeware, or shareware fonts. The title graphic to this document was created
- with a font from the freeware fonts package using Xpaint and the NetPBM
- tools.
-
- A word about the X11 directories
-
- Throughout this document, tools which are generally distributed with X11
- have been described as being under the /usr/bin/X11 directory. The existance
- of this directory isn't guarenteed, however. By convention it should exist
- as a link to the real directory tree. The real tree depends on which version
- of X11 you are using. For X11R5, the bin directory would be /usr/X11R5/bin.
- For X11R6 its /usr/X11R6/bin.
-
- Life would be simple if this were the only way things were, but of course
- its not. Some systems have another directory tree, /usr/X386. I believe this
- is from the XFree86 project, but I'm not sure. On my Slackware 1.2 system
- /usr/X386 is a symbollic link to /usr/X11R6. Its possible that some
- distributions may not have this link.
-
- In any case, the three system directories in which you might look to find an
- X-based executable would be:
-
- * /usr/X11R6/bin or /usr/X11R5/bin (most Linux systems have R6 now)
- * /usr/bin/X11
- * /usr/X386/bin
-
- Of course, if you built the binary yourself then you'll probably know where
- you put it. At least one would hope so.
-
- Distributed Rendering
-
- Andreas Dilger has a tool, PVMPOV, which allows the use of a network of
- computers to render a single image. PVMPOV can run on a number of platforms.
- I believe it only works in conjunction with POV-Ray, however.
-
- Newsgroups
-
- The following is a list of Usenet newsgroups which have some association
- with computer graphics. Most of these have FAQ's located on the FAQ
- repository at ftp://rtfm.mit.edu.
-
- General Graphics (not specific to Linux)
-
- * comp.graphics.rendering.raytracing - This group is mostly comprised of
- users of 3D rendering tools that are available on a number of OSs. The
- vast majority of readers and posters are users of POV-Ray.
- * comp.graphics.rendering.misc - general rendering discussions
- * comp.graphics.algorithms - discussions about implementing graphics
- tools. Somewhat technical discussions.
- * comp.graphics.rendering.renderman - discussions related to the
- Renderman specification. This newsgroup was started by the guys at
- Pixar.
- * comp.graphics.api.opengl - discussion regarding OpenGL, including the
- Mesa and GLUT packages.
-
- Linux Graphics
-
- * comp.graphics.linux.x - general discussions regarding X windows
-
- References
-
- 1. Graphics File Formats; by ...
- 2. Computer Graphics: Princples and Practice; 2nd Edition in C; Foley, van
- Dam, Feiner, Hughes; Addison-Wesley Publishing Company
- 3. Ray Tracing Creations; 2nd Edition; Young, Wells; The Waite Group Press
- 4. Ray Tracing Worlds with POV-RAY; Enzmann, Kretzchmar, Young; The Waite
- Group Press
- 5. Rick Lutowski, http://www.iah.com/oa/ and oa@iah.com
-
- [ArroContents
-
- --------------------------------------------------------------------
-
- Acknowledgments
-
- As with all things Linux, this document will only be as good as the people
- who contribute to it. So far I've done most of the work putting this
- together, but there are a few people who have offered valuable assistance
- regarding graphics in general:
-
- * John Beale <beale@jumpjibe.Stanford.EDU> for info on POV-Ray and
- heightfields, among other things.
- * Andreas Dilger <http://www-mddsp.enel.ucalgary.ca/People/adilger> for
- lots of POV-Ray and image format information
- * Rick Lutowski, http://www.iah.com/oa/ and oa@iah.com for VRML info.
- * The POVRay Team and the comp.graphics.rendering.raytracing newsgroup
-
- Please note that if you have some special association with a particular
- product and offer to help me set it up, get hold of it or learn to use it
- then I'll probably mention you here. If you just send me pointers to tools I
- probably won't list you here. Thats not a snub, I honestly appreciate the
- pointers, but I can't list all of the people who send me URLs.
- [ArroContents
-
- --------------------------------------------------------------------
-
- Registration
-
- Enter your e-mail address to receive e-mail when this page is updated.
-
- Your Internet e-mail address:
-
-
- [ArroContents
-
- ---------------------------------------------------------------------
-
- [Arrow]
- Back to Michael's Home
- Page
- Copyright 1996 by Michael J. Hammel
- mjhammel@csn.net
- Created: April 9, 1996
- Updated: May 2, 1996
- Registration courtesy of URL-minder
- Counter, courtesy of Net Digits,
- established 05/15/96.
-
-