RCS $Id: README,v 1.1 1993/07/23 21:16:17 tuna Exp $ Last modification for xearth vesrion 0.6 Dimitris Evmorfopoulos 14 Nov 1993 README file for xearth, version 0.5 Kirk Lauritz Johnson 23 July 1993 WHAT IS IT? Xearth sets the X root window an image of the Earth, as seen from your favorite vantage point in space, correctly shaded for the current position of the Sun. By default, xearth forks a child process that runs in the background, updating the displayed image every five minutes to reflect changes in the Sun's position. Xearth can also render directly into PPM and GIF files instead of drawing in the root window. See the man page for details. MAJOR CAVEAT This version of xearth (version 0.5) only supports eight-bit pseudocolor visuals, primarily because I haven't had enough time to hack up support for other visuals (and even if I did, I have very little access to any other kind of display). WHERE TO GET IT? The latest-and-greatest version of xearth should be available via anonymous ftp from cag.lcs.mit.edu:/pub/tuna. MANIFEST README this file Imakefile for use with "imake" Makefile.DIST for use with "make" xearth.man man page dither.c source code extarr.[ch] gif.c gifint.h giflib.h gifout.c kljcpyrt.h mapdata.c ppm.c sunpos.c x11.c xearth.[ch] NOTES There are a number of very useful improvements that I'd like to make (such as support for other than eight-bit pseudocolor visuals, better error recovery, getting options via X resources, etc.), but I really should be working on my thesis instead of hacking on this. The map information used in xearth was derived from the "CIA World Data Bank II map database," as taken from some "cbd" files that were apparently originally generated by Brian Reid at DECWRL. I believe something in dither.c exercises an optimizer bug in SunOS 4.1.3 /bin/cc; when I compile this code with -O, I get a segmentation violation. The code works fine under all the other compilers I can get my hands on, however. So, if possible, don't use SunOS 4.1.3 /bin/cc to compile xearth, or, if you have no other compilers, don't use optimization to compile dither.c. Running in the background on a Sun 4/110, xearth requires around 30 CPU seconds each time it redraws an image in the root window. With the default time-between-redraws of 300 seconds, I hardly even notice the extra CPU load. Your mileage may vary, of course, especially on slower machines. The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated. Kudos to Jef Poskanzer for his excellent PBMPLUS toolkit. IDEAS FOR FUTURE WORK Support for other visual classes and depths. Support for specifying options via X resources. Better error recovery (better than "assert()", anyway). Add a "-once" option that draws into the root window, but only once, and then sets all the necessary stuff to make it permanent (and such that it interacts gracefully with other programs that may later write into the root window). Add "-land", "-water", and "-bg" options to specify colors other than the default green, blue, and black. Also draw lines of longitude and latitude (with user defined spacing?). Add brightly-colored markers highlighting interesting locations on the Earth's surface (user specified, of course, possibly by including a simple database of, say, city locations so that places to highlight could even be specified by name). Support for supersampling/antialiasing. Add a "-pid" option that prints out the pid of the child process after it gets forked. AUTHOR Kirk Johnson Patches, bug reports, and suggestions are welcome, although I can't guarantee that I'll get around to doing anything about them in a timely fashion. LEGAL STUFF Copyright (C) 1989, 1990, 1993 by Kirk Lauritz Johnson. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The author makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.