Newsgroups: comp.graphics Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!pixar!mccoy From: mccoy@pixar.com (Dan McCoy) Subject: Re: Scene Description Standard (Renderman isn't good enough) Message-ID: <1991May14.030340.10653@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Nntp-Posting-Host: valkyrie Organization: Pixar -- Point Richmond, California References: <1991Apr30.211131.7166@nntp-server.caltech.edu> Date: Tue, 14 May 1991 03:03:40 GMT In article <1991Apr30.211131.7166@nntp-server.caltech.edu> woolstar@nntp-server.caltech.edu (John D. Woolverton) writes: > > I would love to have a standard interface to work with >(from both sides: modeling and rendering). However my investigation >of RenderMan has been _very_ dissapointing. Sorry to hear that. I believe some of your complaints are based on a misunderstanding of the RenderMan Interface. I'll try to clarify. > Perhaps to the world of 3D Z-buffers and other scan line >rendering programs, RenderMan is enough. But for work in >RayTracing and beyond, there are too many things missing. > > Conceptually, Renderman seems to be designed like PostScript. >One renderman file, one image. While this works for the printed >page, animations and 3D graphics have continuity across frames >that RenderMan cannot describe or take advantage of. I take this to mean that you dislike the lack of animation control information in the RenderMan Interface. This is, arguably, a weakness of the current RenderMan standard. So yes, as it stands RenderMan is a "scene description language" and not an "animation description language". Control information could possibly make its way into the standard in the future. Currently, the time it takes to render a high quality image dwarfs the time involved in reading a new file for each frame. That is even more true of ray tracers and beyond than it is with the "other scan line rendering program" that we currently sell. > Renderman is also grossly inefficient for representing >polygons, as it takes a [vertex, vertex, vertex, close] form for >representing each face instead of a list of verteces and then a >face list. Did you look at the RiPointsPolygons call? It sounds like what you want. Besides, if you want efficifient descriptions of objects, then patches, patch meshes, quadrics, and NURBS are all superior to polygons. Also much information required by a high quality renderer is lost if curved surfaces are expressed as polygons. > Finally the concept of an actor/object is non-existant >in RenderMan. There is no grouping of faces with different >properties or relationships defined. Current implementations of RenderMan renderers may not have the features you want. But the RenderMan Interface provides flexible support for this sort of extension with the RiAttribute call along with RiAttributeBegin/End blocks. The set of attributes that can be specified is not closed. As implementations of RenderMan compatible programs arise, they are free to add implementation specific attributes. > While one could take one's own model from another system >and extract the Renderman Commands for it, it does not seem >possible to go the other way. Witness all the modeling programs >that support the RenderMan interface, but use their own >formats for working data (scene and objects). [all of them!] This is a chicken-egg sort of problem. The interface hasn't been around that long. So far the only reason that people have modified their modellers to output RenderMan compatible files (RIB files) is to allow them to be renderered by Pixar's renderer. Now that many modellers can output their geometry in RIB format, I'm sure you'll start seeing programs that read RIB files as well as write them. > PLEASE SOMEONE! Work on a scene description file format >that will describe an animation or scene, not just the >resultant list of polygons. The RenderMan Interface provides much more than a "list of polygons". >My proposal: > One object format that includes geometry primatives >and surface descriptions. > One model format that describes position and motion >of objects in a scene. > Extentions to both for specific shading and >(for ray tracing) geometry organization (bounding boxes...). RiBound provides bounding boxes. The only thing you ask for that isn't covered by the current RenderMan Interface is motion (beyond motion blur within a frame). It could be argued that this is outside the scope of a "scene description" standard. An example of how to provide what you want without starting from scratch: Motion control could be provided as a separate control file. This control file along with a properly formatted RIB file could either be read by filter program which combines them and outputs to a current level RenderMan renderer. Or the files could be read by a new smarter renderer that could make use of the control information. This has the advantage of being able to compactly express more than one animation sequence for a given geometry file. Dan McCoy Pixar