Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!sun-barr!lll-winken!arisia!glassner From: glassner@arisia.Xerox.COM (Andrew Glassner) Newsgroups: comp.graphics Subject: Graphics Gems (final repost) Keywords: graphics, gems, book, algorithms Message-ID: <3524@arisia.Xerox.COM> Date: 11 Oct 89 00:33:12 GMT Organization: Xerox PARC Lines: 115 This is the final posting of this message. I am reposting for two reasons: first, to reach students and faculty at schools that run on a quarters schedule (and thus may have missed earlier postings) and second to urge anyone who has thought of contributing to actually get around and do it! Think of the number of times you've seen a message like "I'd like an algorithm to do X..." followed by a flurry of "Me too"s. Often there's some lively discussion, which ends with a good summary in some form: a piece of pseudo-code, an equation, or a pointer to a more general technique in the literature that didn't seem applicable at first. That level of activity evidences interest in a topic. A good answer should live on after the lifetime of its net dicussion. If you have provided the definitive answer to one of these discussion, you're sitting on a Gem! I encourage folks to think back on their times of developing code and remember where you got stuck. Did you find a good solution to your problem? Probably someone else will get stuck at that point again someday - write down your solution and share it with the world. If you've contributed and shared on the net, please consider contributing to this book. You may never see "how do I convert a 24 bit picture to 8 bits" again! -Andrew -------- CONTRIBUTE TO A NEW BOOK FOR COMPUTER GRAPHICS PROGRAMMERS! Contributions are solicited for a new book, tentatively titled GRAPHICS GEMS. This book will be a collection of short notes by and for computer graphics programmers and researchers. The basic idea is to create a book similar to the CRC Mathematics Handbook, only tailored to the subject of computer graphics. The motivation for Graphics Gems comes from a desire to document and share the many techniques that are a necessary part of every graphics programmer's toolbox, yet don't appear in the standard literature. Each Gem represents a solution to a problem: not necessarily a research result, nor even a deep observation, but simply a good, practical technique for dealing with a typical computer graphics programming problem. A typical Gem may be a code fragment, a short analysis of an interesting problem, a bit of mathematics, a data structure, or a geometric relationship. Here are some appropriate topics for Gems - this list contains only a few suggestions for topics that might be covered by interesting Gems, and is far from complete: Two Dimensions: Fill, smooth, blur, dither, 2d plots, line drawing, curve drawing, bounding boxes, overlapping boxes, efficient bitblit (example: automatic selection of tick marks on a plot). Three Dimensions: Scan conversion, highlight detection, shading, isosurfaces, ray intersection, form factor calculation, visibility, texturing, transformations, deformations, smoothing, 3d plotting, parameterizations, surface subdivision, texturing functions, bounding boxes (example: fast shading formulae). Graphics: Colormap hacking, object manipulations, sampling, filtering, optics, interaction techniques, modelling primitives, efficient rendering, edge detection (example: reconstruction from stochastic sampling). General Math: Algebra, calculus, geometry (e.g. why normals don't move under the same transformations as surfaces). Programming: Numerical integration, root finding, root polishing, data structures (objects), data structures (programs), inner loops, interactive debugging, graphical debugging, color map hacking, over- and under-flow detection and correction, unusual functions (e.g. polynomial root-finding). Most Gems will be about 1 or 2 final printed pages (4 or 5 pages of typewritten, double-spaced manuscript), though if you choose to include source code the listings may run longer. Rough figures and equations will be professionally redrawn by the publisher. Each contributor will have a chance to review the final copy for his or her Gems before publication. Each Gem will be clearly identified with the name and affiliation of its contributor(s). Each contributor will receive a complimentary copy of the final book. If you have developed a nice solution to a problem that others might encounter, be it a data structure, an inner loop, or even an algebraic simplification that makes your programs shorter and more robust, then it would probably make a splendid Graphics Gem. Write it up and send it to the editor at the address below, either in hardcopy or electronic mail. Acceptable formats are plain text, nroff, TeX, MacWrite, and Microsoft Word (Macintosh). I would like to receive a rough draft of all Gems by November 1989. Contribute and share your favorite tricks and techniques with the rest of the community! Send your Graphics Gems to: Andrew Glassner Editor, Graphics Gems Xerox PARC 3333 Coyote Hill Road Palo Alto, CA 94304 USA email: glassner.pa@xerox.com phone: (415) 494 - 4467