PSC P3D VERSION 2.2 AVAILABLE ----------------------------- The fifth release of the Pittsburgh Supercomputing Center's P3D software is now (finally!) available. This software uses lisp with slight extensions to store three-dimensional models; we are using it as the standard format for 3D models within the PSC. A simple lisp interpreter is included with the P3D release, so there is no need to have access to any vendor's lisp to run this software. The copyright to the P3D software is owned by Carnegie Mellon University, of which the Pittsburgh Supercomputing Center is a department. We copyright it so that no one can grab it and market it as their own. Feel free to copy it and distribute it around your own site, and to modify it. We ask that you do not redistribute it, as we want new users to get it from us so we can keep track of it and maintain a mailing list. If you have modifications to the code or bug reports, or would like to arrange to redistribute it, please contact us. This code is provided 'as is' without expressed or implied warranty; the PSC makes no representations about its suitability for any particular purpose. HIGHLIGHTS The most fundamental change with this release is that the P3D interpreter now stores geometrical implementation in a much more compact form. This will allow models of roughly twice the earlier size to fit in a machine's physical memory. There have been numerous improvements to the Motif user interface to the P3D interpreter. That interface can now generate flybys of P3D models, for example. The interface will also link and run with the GL renderer on Silicon Graphics and IBM RS6000 platforms. The DrawP3D library has been improved considerably. Two interactive renderers, a version of the Painter renderer and an interface to Silicon Graphics GL, have been added. This means that programs calling DrawP3D can now draw directly to a workstation screen. Numerous bugs have also been patched. MarchP3D has been completely rewritten to take advantage of the new functionality of DrawP3D, and now uses DrawP3D's isosurface routine rather than that from the Scry package from Lawrence Berkeley Labs. This is now a much more useful and flexible tool. It can, for example, now do on-screen rotations of the isosurfaces it generates. The Sun Phigs renderer has been rewritten to match the new version of Sun Phigs, and will link and run with the Motif or Xview user interfaces. RENDERERS The P3D software currently supports nine renderers. They are: Painter, a Painter's Algorithm renderer. This runs on just about everything, but requires the PSC's DrawCGM library and can only draw flat-shaded polygons. If you need the DrawCGM library, get the GPlot software distribution by anonymous FTP from calpe.psc.edu, in the directory pub/gplot. Silicon Graphics Inc. GL language renderer interface. This is the recommended renderer for SGI workstations and IBM R6000 workstations. Generic Phigs renderer interface. This renderer should work with only minor modification on any implementation of Phigs, but because (like generic Phigs) it does not handle light sources it is not the recommended renderer on any platform. Sun Phigs+ renderer interface. This renderer works with Sun Phigs. Try this renderer if you have a Sun platform, and if you don't like the results, switch to the Painter renderer. DEC Phigs+ renderer interface. This renderer should work with DEC Phigs. It is the recommended renderer for DEC platforms with 24 bit displays and graphics accelerators, for example accelerated DECStation 5000's. For 8 bit DECStations, one might want to try both this renderer and the Painter renderer. Dore renderer, which is an interface to the Kubota Pacific Dore renderer software. This is the recommended renderer for Stardent workstations. Rayshade ray tracer renderer interface. This renderer is an interface to Craig Kolb and associates' Rayshade ray tracer (version 3.0, patch level 5). It produces some very nice images, very slowly. The current implementation is a first release of the interaface and does not properly support all P3D model elements (for example, vertex colors). See the associated document in the 'doc' subdirectory for more information on the limitations of the renderer, but don't get too discouraged by them; it can still do an excellent job on a wide range of models. This renderer should run on any platform. The Rayshade renderer also uses the DrawCGM library by default, but can be switched to using the Utah Raster Library by applying the proper -D option to the compilation of src/rayshade/outputp.c . Note that some optimizing compilers have problems with some of the routines in src/rayshade; if you have problems with the ray tracer try recompiling some or all of these routines without -O. This renderer supports facilities for doing multiple scenes for animation purposes. ART ray tracer interface. This renderer is an interface to the ART ray tracer, distributed with the VORT package. VORT is available by anonymous FTP from gondwana.ecr.mu.oz.au. This is currently the best free high-quality renderer for P3D. The ART folks have been very generous in supporting new features for us, and now almost all aspects of P3D are well supported. This renderer also supports facilities for doing multiple scenes for animation purposes. See doc/art_ren.t for further information. This renderer interface should run on any platform. Pixar RenderMan interface. This renderer links against Pixar's RenderMan renderer interface to produce high quality rendered images. This software is generally significantly faster than a ray tracer, for example ART. The software was developed using Pixar's own Developer's Renderman product, but in theory it should work with any renderer with a Renderman-compatible interface. Contact us if you don't have the library but are interested in an executable which can output models in the RenderMan 'RIB' format. This renderer and Developer's Renderman should run on any Unix platform. GETTING THE CODE The code is available via anonymous FTP from the machine ftp.psc.edu. If you do not already have the PSC's GPlot and DrawCGM software, you can get that also from the same machine. (You will need GPlot/DrawCGM if you are using the Painter renderer, which is the recommended renderer on machines lacking special 3D graphics hardware). To install the software on a Unix system, do the following: - FTP to ftp.psc.edu (internet address 128.182.62.148). - Log in as anonymous, with your name as password. - cd to the directory pub/p3d (the GPlot software is in pub/gplot). - Set file transfer mode to Binary or Image. - Get p3d_2_2.tar.Z, (or p3d_2_2.tar if your machine doesn't have the 'uncompress' utility). - Move the tar file to an otherwise empty directory on your machine. - Uncompress the tar file with the command 'uncompress p3d_2_2.tar'. If this doesn't work, you should have gotten the uncompressed version; see above. - Extract the contents of the tar file with the command 'tar -xvf p3d_2_2.tar' . (On Silicon Graphics machines, you will want to use the command 'tar -xvof p3d_2_2.tar'.) - Follow the directions in the README file contained in the tar file. To install the software on a VMS system, do the following: - FTP to ftp.psc.edu (internet address 128.182.62.148). - Log in as anonymous, with your name as password. - cd to the directory pub/p3d (the GPlot software is in pub/gplot). - Get tar2vms.c, a freely distributable tool copyrighted by Sid Penstone, Dept. of Electrical Engineering, Queen's University, Kingston, Ontario, Canada K7L3N6. - Set file transfer mode to Binary or Image. - Get p3d_2_2.tar, giving it the local name p3d_2_2.tar . - Move the tar file and tar2vms.c to an otherwise empty directory on your machine. - Compile and link tar2vms.c. It's a stand-alone program needing no libraries except the usual sys$library:vaxcrtl.olb. - Give the following commands to unpack the tar file: $ assign p3d_2_2.tar tape $ tar2vms:== $dev:[directory]tar2vms.exe (where dev and directory are your current default device and directory). $ tar2vms xv - Follow the directions in the README file contained within the tar file. If you get this software, please send your name and network address to me at welling@psc.edu so that we can send you announcements of updates and bug fixes. If you find bugs, that is also the address to which to send the bug reports. -Joel Welling Pittsburgh Supercomputing Center welling@psc.edu