ballen@csd4.csd.uwm.edu (Bruce Allen) (07/14/90)
I am searching for a set of graphics routines with certain capabilities. These capabilities may be available in a standard Sun product that I don't know about. Or, they may be available from public-domain sources, commercially, or not at all. Please let me know by direct e-mail if you can enlighten me about whether such a product exists, and where to find it. I will post a summary if there is sufficient interest. Hardware available to me is a SparcStation, Cray-2 and Convex 220. If possible I would like to stick with the SS; it's my favorite machine. I do NOT have an SGI machine (and have been told things would be simple, if I did, thank you.) Please reply to me directly at ballen@dirac.phys.uwm.edu. Right now, I am in the process of making an animated movie. The individual frames of the movie consist of lines in space, which are generated (roughly speaking) in text form. To give you some idea, the raw data has a syntax like this: move 1.0 0.0 0.0 continue 1.0 1.0 0.0 continue 0.0 0.5 0.3 . . . move 0.3 0.2 0.7 continue 0.0 0.5 0.3 . . . The move commands go to a particular point, and the continue commands draw lines from the current point to the new point. These lines are the only things I need to draw. (Text would also be nice.) I need to produce rasterfiles showing these lines (appropriately projected onto 2 dimensions). At the moment, I am doing this with my own code which 1. Projects the lines into 2 dimensions 2. Draws the lines using calls from the pixrect library 3. Creates rasterfiles using pr_dump. The difficulty that I have is getting "nice" lines. In order to get a good looking movie, I need to draw anti-aliased lines, using somewhere between 16 and 256 gray levels. (I would appreciated rule-of-thumb advice about the correct pixel depth here.) At the moment I am using the pr_line pixrect call to draw the lines. However this call does NOT draw anti-aliased lines. I need a good way to draw anti-aliased lines. I realize that I can write my own anti-aliasing code, by initially writing onto a larger pixrect with one bit pixels, and then reducing the resolution by converting this into a smaller pixrect with 4 or 8 bits per pixel, but since I am a physicist and not a software engineer I would rather use existing code and avoid the hassle. Thus, the package of graphics routins that I need should at the least have the abililty to draw nice antialiased lines in 2-d and then create rasterfiles. I must be able to vary the linewidth. Even better would be something that lets me draw the lines in 3d, using perspective to determine the true thickness, with a lighting source that casts shadows, and varies in intensity with distance. As an academic, my budget is limited (say <$2k). If a commercial package is available, but expensive, I may be able to plead with the source for a reduced price, so you may imagine that price is not a factor. Each rasterfile will contain about 100K line segments (many project to points) and I will be making about 5000 of these rasterfiles (several Gbytes). I already have working movies without anti-aliased lines, but they don't video-tape well, and I am having a real "cinematic" film made, so I want to use the available resolution and do it right. Bruce Allen Physics Department University of Wisconsin 414-229-6439 ballen@dirac.phys.uwm.edu