[comp.graphics] I have been taught...

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (06/26/87)

[ REPLACE THIS LINE WITH ANOTHER ONE EXACTLY LIKE IT ]

	Sometime back, I made a request for information regarding easy-to-
understand graphics reference works that I could build my CG knowledge on.
I got a great many responses, which are summarized below.  Most of the
responses directed me to Foley/Van Dam's "Principles of Interactive Computer
Graphics," which I had already scanned, and concluded that it was basically
an update to Newman/Sproull.

	Another work frequently referred to was "Procedural Elements for
Computer Graphics," which I will investigate.

	My thanks to those on the net who took the time to provide me with
this information.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_	 Bike shrunk by popular demand,	      dual ---> !{well,unicom}!ewhac
O----^o	 But it's still the only way to fly.  hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor

_-_-_-_-_-_-_ Summary follows.  All paths relative to the WELL. _-_-_-_-_-_-_
From hoptoad!farren Fri Jun 12 07:30:30 1987

One book I've found to be excellent, as far as it goes, is Foley & Van Dam, 
Fundamentals of Interactive Computer Graphics.  As the title implies, they
are mostly concerned with interactive techniques, so a lot of the compute-
intensive stuff isn't covered in depth, but what they do cover, they cover
well.  Chapter headings include Representation of 3d shapes, The Quest for
Visual Realism, Algorithms for Removing Hidden Edges and Surfaces, Shading
Models, and Intensity and Color.  Perhaps worth checking out.

Mike

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!lll-tis!elxsi!len Fri Jun 12 12:43:55 1987

[ Editor's note:  This, in my humble opinion, was the best response I
received. ]

Leo --

    Here's a response from another naive person!

    I, too, read Newman & Sproul way back when, and have recently become
    involved in more graphics.  There is a wonderful reference (partially
    because it is accompanied by a large amount of software) which you
    can not buy, but which you can get free of charge.  Here is the
    README from the Ballistic Research Laboratory CAD Package "A
    Solid Modeling System and Ray-Tracing Benchmark Distribution
    Package" which contains instructions for obtaining the package.
    I have deleted some 630 lines from the README for brevity.  You
    will get the whole thing on the tape from them, as well as a
    hardcopy document.

    If you get the package, you can be writing programs as soon as you
    have absorbed the hardcopy and scanned the software.

    Good luck in your efforts.

-- Len


.nf
.ce 7
BALLISTIC RESEARCH LABORATORY
.sp
SOLID MODELING SYSTEM
and
RAY-TRACING BENCHMARK
.sp
DISTRIBUTION PACKAGE
Release 1.20
(13-Feb-87)
.fi
.sp
.IP "DISTRIBUTION DETAILS"
.sp
.nf
To obtain a copy of the distribution, you should send the authors:
.sp
1)  Enough magnetic tape for 15 Mbytes of data.  For 9-track 1/2 inch magtape,
    specify density (800, 1600, or 6250).  Silicon Graphics and SUN tape
    cartridges can also be accommodated.  Specify TAR or CPIO, and blocksize.
.sp
2)  A letter indicating:
.sp
	-- Who you are
	-- What the BRL CAD package is to be used for
	-- Equipment and operating system(s) you plan on using
	-- That you agree to the conditions listed below.
.sp
The software is distributed free of charge with the following conditions:
.sp
1.  The BRL CAD package source files won't be passed on to third parties.  If
    someone wants them, have them contact BRL.  We need to know who has
    what, and what it is being used for.
.sp
2.  BRL will be credited should the software be used in a product or written
    about in any publication.  BRL will be referenced as the original
    source in any advertisements.
.sp
3.  BRL assumes no legal responsibility for source code and its subsequent
    use.  No warranty is expressed or implied.
.sp
4.  If any bugs or problems are found they will be reported back to BRL.
.fi
.sp
You will own full rights to any databases or images you create with this
package.
.sp
To obtain authorization for use at additional sites, or for permission
to use this work as part of a commercial package, please contact the
authors at the address below.
.sp
For non-US sites, an extra step is required.  You must send your letter
and tape to your Ambassador to the United States in Washington DC, and
have them forwarded to BRL through official channels.
.sp
.IP CONTENTS
.sp
What you have here is a collection of software which includes:
.sp
.nf
.ta 0.5i 1.5i
	libsysv	Some System-V compatibility routines
	mged	A solid-model editor
	librt	A solid-model ray-tracing library
	rt	A ray-tracing lighting model, for rendering
	db	Several solid-model databases, in ASCII form
	conv	ASCII/binary database converters
	bench	Scripts to drive the RT benchmark
	pix	Reference images for the RT benchmark, in ASCII form
	libpkg	A "message-passing" interface to TCP network links
	libfb	A generic frame-buffer library
	rfbd	TCP server for remote frame-buffer access
	libtermio	A library to handle terminal mode setting
	libplot3	A public-domain 2-D and 3-D UNIX-Plot library
	librle	A Run-Length-Encoding library (originally from UofUtah)
	util	Zillions of image-handling utilities, as tools
	fbed	Frame-buffer image editor
	vdeck	Convert mged models to GIFT-format card decks.
	dmdfb	libfb support for layers in Teletype 5620 DMD terminal

[ Mega-stuff deleted.  Ed. ]

Best Wishes,
 -Mike Muuss
.sp
  Leader, Advanced Computer Systems Team
  U.S. Army Ballistic Research Laboratory
  APG, MD. 21005-5066
  USA
.sp
ArpaNet:  <Mike @ BRL.ARPA>
.sp
Commercial (301)-278-6678
AUTOVON 298-6678
FTS 939-6678
.KE
.fi

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!lll-tis!ames!ames-pioneer.arpa!eugene Mon Jun 15 06:40:04 1987

Well, you can attend my ACM/SIGGRAPH meetings and learn a little bit,
I suggest the June meeting which was posted and wait until our Oct.
meeting on 3-D/stereo systems for next.  We don't meet during the
national (July/Aug) meeting, and Sept is more artistically oriented.

While you don't need a PhD in math, you do need to understand matrix
algebra because it is the fastest, most flexible way to program
graphics.  You should also learn to do it in a system of homogeneous
coordinates. N&S is okay, you just have to bone down a bit.  Foley and
van Dam is only a little better.

--eugene miya
  Bay Area ACM/SIGGRAPH

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!ihnp4!hoqax!twb Mon Jun 15 07:50:35 1987

Take a look at:
	Fundamentals of Interactive Computer Graphics
	J.D. Foley and A. van Dam
	Addison-Wesley 1984

Tom Beattie

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!seismo!utah-cs!peterson Tue Jun 16 05:34:42 1987

Try "Procedural Elements for Computer Graphics" by David F. Rodgers.
It's style is somewhat old fasioned (e.g., flowcharts) but it's the
closest thing I've seen to a cookbook.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!harvard!UDEL.EDU!thomson Tue Jun 16 06:35:58 1987

Sorry if this message gets to you twice, but I've been wrestling with our
mailer program.  I figure its better you get two copies, than none.
-------
Try looking at a recent issue of AmigaWorld for info on ray tracing-- the cover
has a ray-traced image of a robot juggler.  There was an article describing the
techniques of ray-tracing in detail, along with generic C routines to implement
the major portion of a ray tracer.  The Amiga specific routines have been left
out, but most everything you will need (aside from machine specific routines to
set a pixel, etc.) is in the magazine.  For continuous information about CG and
the related algorithms, you might consider joining one of the professional
societies like the IEEE (Institute for Electrical and Electronics Engineers),
SIGGRAPH (the Special Interest Group of the ACM [Association of Computing
Machinery] on Graphics), or the NCGA (National Computer Graphicsw Association).
I belong to the IEEE and receive their publication Computer Graphics and
Applications; I believe it to be one of the best sources of current information
on algorithms and methods available.  [Not to mention the fact that they have
some of the best pictures!]  If you're interested in the IEEE, or the NCGA I
have addresses for both and can e-mail.		Rich Thomson

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From hplabs!rutgers!mtune!io!zapp!carlos Tue Jun 16 15:30:39 1987

>From your Amiga stuff I've seen so far, you will be a dangerous man if you
learn much more about graphics! Anyway, I have a favorite book that I would
like to recommend. It is called "Procedural Elements for Computer Graphics",
and I think it is by Roberts. It is by far the most USEFUL of all computer
graphics books I have seen (and I own most of them). No one book I know of
will cover everything you want, but this book discusses perspective 
transformations, polygon clipping, rendering algorithms (certainly scan-line
algorithms, I am not 100% sure about ray-tracing, I don't have it here at
work) and much more. The best part is, generally gives multiple solutions
to a problem, with discussion of the trade-offs and advantages of each. Then
to top it off is a pseudo-code (or Pascal?) implementation of the algorithm.
This book is head and shoulders above Newman/Sproull and Foley/VanDam (which
you may also want to check out, it is also a fine book, but more similar
to N/S) in its level of sophistication. NOT heavy math, but it assumes a
competent programmer is reading it. Check it out in a bookstore, but I'll
bet you find it useful.

Hope this is helpful, I'll check out my library tonight and see if I have 
any others you might like (anything for a fellow Amigan!) and if I do I'll
mail you again.
				Carlos Smith
				...harvard!umb!ileaf!carlos 

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From lll-lcc!lll-tis!ames!hao!noao!arizona!naucse!csi Wed Jun 17 03:52:24 1987

Hello Doc
	
	I am a computer science major at Northern Arizona University.
I am also very interested in computer graphics and have taken as many 
classes as possible at this university. My suggestions for a beginners
book that our first semester graphics class uses is ;

	Title: Computer Graphics
	Auther: HEARNS
	Publisher: Prentas Hall inc.

	This text will take you through all the matrix manipulations, 
hidden line algorithms and a few other odds and ends.  For a more 
advanced book I would suggest;

	Title: Fundamentals of Interactive Computer Graphics
	Author: J.D Foley, A. Van Dam
	Publisher: Addison-Wesley Publishing Company

	This is a little more dificult book to read but covers a greater
majority of subjects, such as scan line.  I have not come across a good
book for fractals and ray tracing.  I would truely appreciate it if 
would forward your other recomendations on, so I also may learn a little.
			Good luck in you hunt,
				Chris Iams   (csi)

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
From hplabs!rutgers!liberty!swatsun!swarthmore!rice Thu Jun 18 00:27:41 1987

	For excellent explanations of hidden surface removal, shading, and
some basic ray-tracing, try _Procedural Elements for Computer Graphics_
by David F. Rogers, McGraw Hill 1985.  It describes everything quite well,
and gives worked examples.  It also has a good bibliography.  For octree and
quadtree stuff, I've only seen journal articles, in publications like
IEEE Computer Graphics & Applications.  They're used to store objects compactly
and to solve various object-intersection calculations.  There's an
interesting article in IEEE CG&A by Andrew Glassner about ray-tracing with
space divided into an octree to speed up intersection calculations, and another
by Fujimoto and Iwata which accomplishes the same thing faster by dividing space
into equal-sized cubes.  There was also an article in IEEE CG&A about rendering
objects defined directly in terms of octrees (a simple recursive routine),
written by someone at Raster Technologies whose name I don't recall.
	Fractal surfaces are mentioned in passing in Roberts.  The more-or-
less original article on fractal mountains is Fournier, Fussell, and 
Carpenter in the June 1982 issue of ACM Transactions.  James Kajiya wrote an
an article on ray-tracing fractals and other procedurally-defined objects in
Siggraph 1983 and ACM Transactions on Graphics July 1983.  Mandelbrot's book
has some nice pictures, but is utterly inscrutable.  In any event, even if
you have the math to create the terrain, Mandelbrot won't help you render it. 
	I've seen a few articles on camera motion, but since I don't
really have the resources to animate, I haven't paid much attention.  There
are plenty of interesting articles on animation related things like motion blur
and anti-aliasing, though.
	In general, for fancy stuff like ray-tracing, its still necessary to
follow the periodical literature; no book really has everything.  If you can
get your hands on them, read Siggraph conference proceedings as far back as
possible, ACM Transactions on Graphics, and IEEE CG&A.  I've learned most of
what I know from them (not that I'm an expert, just a lowly undergrad...).
Don't bother with Foley & VanDam; it's pricey and, like Newman & Sproull,
gets very vague about anything advanced.  It also contains some superseded
information.
	I don't have many references here with me, so write me if you need
more details on any of these sources.
	Good luck with your quest!

						Regards,

						   Dan Rice