Newsgroups: comp.graphics Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!news.cs.indiana.edu!maytag!mks.com!david From: david@mks.com (David Rowley) Subject: Re: Scene Description Standard Date: Fri, 3 May 91 13:08:23 GMT Message-ID: <1991May3.130823.1256@mks.com> Organization: Mortice Kern Systems, Waterloo, Ontario, CANADA References: <13281@goofy.Apple.COM> <14567@medusa.cs.purdue.edu> In article <14567@medusa.cs.purdue.edu> bouma@cs.purdue.EDU (William J. Bouma) writes: >In article <13281@goofy.Apple.COM> turk@Apple.COM (Ken "Turk" Turkowski) writes: >>The problem with a procedural language (like PostScript) is that >>the definition of the language specifies exactly how the picture >>is to be rendered. Procedural languages generally require a complex >>parser that is really a compiler that builds expression trees, etc. > > In the case of PostScript this is just not true! PostScript does not > require ANY parsing. If this shocks you try doing some reading on > the subject of "Threaded Interpreters". I took the postscript interpreter part of GNU's Ghostscript, and hacked up an interface for Rayshade. It was kind of neat, though the Ghostscript code is pretty hard to use. Saying that postscript doesn't need parsing is too kind. I'd more agree with the simpler, original Threaded Language, Forth. The bottom line is that a renderer should deal with rendering type concerns. A language only benefits the builder of the scenes, not the renderer, thus it can safely be extracted. The following pipeline seems reasonable: Animation, ---> Standard Scene ---> Simplification -> Render Programmatic Format, Filters Scene Description Camera, Lights Where the simplification filters would convert the scene description into the level of simplicity required by the particular renderer. > I have written a TI based animation tool. It was very easy to write > and it is flexible to do whatever I may want. The reason I wrote it > was I wanted an interactive graphics environment on this HP I was > using. I got tired of the awkward compile-load-run cycle that the C > language requires. >-- >Bill -- ll // // ,~/~~\' David Rowley /ll/// //l' `\\\ Mortice Kern Systems Inc. / l //_// ll\___/ 35 King Street North, Waterloo, ON, Canada N2J 2W9 O_/ 519/884-2251, FAX 519/884-8861, david@mks.com