dean@cs.mcgill.ca (Dean NEWTON) (05/06/91)
Archive-name: languages/scheme/elk/1991-05-01 Archive: export.lcs.mit.edu:/contrib/elk-1.2.tar.Z [18.30.0.238] Original-posting-by: dean@cs.mcgill.ca (Dean NEWTON) Original-subject: Re: Scene Description Standard Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) In article <MATT.91Apr30142917@mandala.think.com> matt@mandala.think.com (Matt Fitzgibbon) writes: >In article <30137@rouge.usl.edu> msr@gator.cacs.usl.edu (Srinivas R. Manapragada) writes: > > Yes it would be nice to have a standard. However it should be more > expressive > and powerful than the language of say rayshade, which allows hierarchical > objects to be defined rather easily. However one should also have some > kind of procedural features. > >Rather than define another new language, has anyone explored using >Lisp or some subset as a geometric description language? > You may want to consider using scheme for this purpose. I have appended a brief description of the Elk (Extension Language Kit) scheme interpreter at the end of this message. Since scheme is a general-purpose interpreted language, embedding Elk into your system not only gives you a language for storing scenes, but you also get: -- an interpreted command language -- a cleaner (than the C binding) interface to Xlib/Xt/Motif -- an interpreter to Xlib/Xt/Motif In fact, this will completely eliminate the dichotomy between "scene description files" and "programs". Elk is available for anonymous ftp from export.lcs.mit.edu Enjoy, Kaveh Kardan Taarna Systems, Inc. Montreal Quebec Canada (posting from a friend's account) ---------------------------------------------------------------------------- Implementation: Elk Implemented by: Oliver Laumann <net@tub.UUCP> <net@tub.BITNET> Hardware: VAX, Sun-3, Sun-4, ISI 680x0, Intel 80386, Mips, IBM/RT, and others Operating Systems: UNIX/SunOS/Ultrix Price/Availability: Free. Available as source code through the usual sources archives and by e-mail from the author Intended Use: Primarily as a general extension language Elk (Extension Language Kit) is a Scheme interpreter intended to be used as a general extension language; it is also useful as a stand-alone implementation of Scheme. One purpose of the Elk project is to end the recent proliferation of mutually incompatible Lisp-like extension languages. Instead of inventing and implementing yet another extension language, application programmers can link the Scheme interpreter into their application in order to make it extensible and highly customizable. The Elk project was started in 1987 to support ISOTEXT, an ODA-based document system (a WYSIWYG editor) that is being developed at the Technical University of Berlin. Elk has been successfully demonstrated as the extension language kernel of ISOTEXT, e.g. at the Hanover Fair 1989. The Elk Scheme interpreter is R^3RS compatible (with some minor exceptions listed in a separate document); future releases will conform to the R^4RS and/or P1178 as soon as the respective standards become available. Non-standard features of the Scheme implementation include: o dynamic loading of object files o creation of an executable image from the running interpreter (``unexec'') o a macro facility o environments as first-class objects o dynamic-wind, fluid-let o autoloading, provide/require The Scheme interpreter can easily be extended by application-specific new types and primitive procedures. Such extensions are typically written in C or C++ and dynamically loaded into the running interpreter. The current release of Elk includes several such extensions, e.g. interfaces to the X11 Xlib and to the application programmer interface of the Xt intrinsics, and interfaces to the Athena, HP, and Motif widget sets. -- comp.archives file verification export.lcs.mit.edu -rw-rw-rw- 1 ftp 30 585722 Sep 16 1990 /contrib/elk-1.2.tar.Z found elk ok export.lcs.mit.edu:/contrib/elk-1.2.tar.Z
craig@weedeater.math.yale.edu (Craig Kolb) (05/09/91)
Archive-name: graphics/3d/psc-p3d/1991-05-03 Archive-directory: calpe.psc.edu:/pub/p3d/ [128.182.62.148] Original-posting-by: craig@weedeater.math.yale.edu (Craig Kolb) Original-subject: Re: Scene Description Standard Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) In article <MATT.91Apr30142917@mandala.think.com>, matt@mandala.think.com (Matt Fitzgibbon) writes: >Rather than define another new language, has anyone explored using >Lisp or some subset as a geometric description language? Enclosed is an annoucement for the Pittsburgh Supercomputing Center's P3D, which "uses lisp with slight extensions to store three-dimensional models". I've yet to look at P3D myself, but it may be relevant to this disucssion. Craig --- PSC P3D VERSION 2.0 AVAILABLE ----------------------------- The third release of the Pittsburgh Supercomputing Center's P3D software is now 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 highlights of the new release are the mouse-driven user interfaces for Motif, Open Look, and Silicon Graphics GL, and the DrawP3D subroutine library for generating P3D without ever looking at the underlying Lisp. Renderer interfaces have been added for generic, DEC, and Sun Phigs, and version 3.0 of Craig Kolb's Rayshade ray tracer. We have also installed a new parser, which should be more robust and provide better diagnostics on P3D files containing Lisp errors. It also will allow the rendering of larger models on some platforms. RENDERERS The PSC P3D software currently supports seven 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. Dore renderer, which is an interface to the Stardent Inc. Dore renderer software. This is the recommended renderer for Stardent workstations. 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 should work with Sun Phigs. It produces excellent results with Sun hardware with graphics accelerators and a 24 bit display, but because of limitations with some versions of the Sun Phigs software it may not work properly on platforms with 8 bit displays. 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. 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, text primitives and vertex colors). GETTING THE CODE The code is available via anonymous FTP from the machine calpe.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 calpe.psc.edu (internet address 128.182.66.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_0.tar.Z, (or p3d_2_0.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_0.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_0.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 calpe.psc.edu (internet address 128.182.66.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_0.tar, giving it the local name p3d_2_0.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_1_1.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. ------ NOTE: The Motif and Open Look user interfaces in this release require a bugfix to the PSC's GPlot/DrawCGM software which is not yet in the released version (as of March 14, 1991; the release is expected before the end of March). The symptom of the problem which this fixes is incorrect color map handling using these user interfaces. The fix is to relink DrawCGM with the version of xws_color.c in the pub/p3d anonymous FTP directory on calpe.psc.edu, or to include that module in the linking of the P3D executables. ------ If you get this software, please send your name and network address to me at welling@seurat.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@seurat.psc.edu (412)268-6352 -- comp.archives file verification calpe.psc.edu total 7902 -rw-r--r-- 1 0 29578 Mar 15 12:06 xws_color.c -rw-r--r-- 1 0 6876 Mar 15 08:58 README drwxr-xr-x 2 0 512 Mar 11 12:34 SPARC -rw-r--r-- 1 0 2041393 Mar 11 12:29 p3d_2_0.tar.Z -rw-r--r-- 1 0 5969920 Mar 11 10:28 p3d_2_0.tar -rw-r--r-- 1 0 16519 Jun 7 1990 tar2vms.c found psc-p3d ok calpe.psc.edu:/pub/p3d/