dwrowley@watserv1.waterloo.edu (David W. Rowley) (08/15/90)
Raytracers and renderers are a great thing to hack. Currently we have a host of well written systems available as freeware or shareware, including Craig Kolb's excellent Rayshade, David Buck's DKB, Steve Koren's QRT, Dave Wecker's DKB, Mark VandeWetterig's MTV and the Australian VORT. Some have CSG, some have procedural maps, texture mapping, gridtracing, kajiya bounding slabs, octrees, heightfields, snazzy input languages, etc. But no one program has it all. One of the problems inherent in a 'raytracing program' is since it is a 'program', it is limited to its current set of features. Renderman (tm) takes the approach of a rendering library, along with a shading language. The more I think about this approach the more I like it. Wouldn't it be great if you could create, say, a snow procedural map, and donate it to the raytracing community at large ? Take one of the 'Graphics Gems' and speed up one aspect of tracing and contribute that ? Bearing this in mind, how about the collective resources on Usenet, CompuServe, etc pool their efforts to implement a common raytracing skeleton, perhaps similar in concept to Renderman (tm) ? In fact, since Pixar allows anyone to license the Renderman (tm) interface specification, would it be possible to implement a public domain version of Renderman (tm) itself ? Would Pixar allow a public domain version ? Is Renderman (tm) the best specification for a system like this ? How about writing it under the auspices of Richard Stallman's Free Software Foundation ? (gnu-render ?) We could even write different renderers for the same rendering language, such as a raytracing version for high quality and a scanline version for speed / previewing (perhaps built on top of something like VOGLE ?) Well, enough rambling. Let me know what you think. I'd certainly like to work on a project like this. I have seen the benefits of standards in a variety of arenas. With the talent around I'm sure we could create something quite sophisticated. David Rowley Mutual Life of Canada dwrowley@watserv1.uwaterloo.ca
stephens@motcid.UUCP (Kurt Stephens) (08/24/90)
Renderman is not a render. (The name is misleading) The Renderman Interface (Ri) provides a standardized interface to high quality rendering software. Pixar published it to provide an industry standard, much in the way that Adobe's PostScript is an industry standard for page description. A public domain renderer can have the Ri. For a C binding, we must typedef all the different data types are defined by Ri. (i.e. typedef double RiFloat; typedef int RiInt) And define the internal data structures, like the transformation stacks and etc. Then define the procedure stubs (i.e. RiSphere( RiFloat radius, ... )), and interface them to the PD renderer. I began to do this based on information I could reverse engineer and disect from the first version of the Ri Spec. ANYBODY is welcome my Ri header files. I have also written a few ray/RiPrimative intersection routines. I don't know how different the new version is. The _Renderman Companion_ book might be helpful, but I haven't seen it. As far as the shading language, it seems one would have to write a shading language compiler. (I doubt that they are interpreted ;^)), to convert the shading language into a subroutine that the renderer can call. Therefore, we may need a different compiler for each renderer. The specification gives a brief BNF grammar for the shading language. (Maybe Pixar could provide an actual YACC grammar) We must provide someway to link the compiled shading routines to the renderer. The linking may have to be done dynamically, due to the way shaders are specified in the C language binding. (i.e. RiSphere( 5, RiShader, "FooShader" );) Maybe somebody at Pixar who is familar with Ri internals could help us, without divulging proprietary information. Its a big task, but it can be done, look at all the PD PostScript interpeters floating around! (Ghostscript, xps) Kurt A. Stephens ...uunet!motcid!stephens P.S. You could purchase Renderman for $2500 (for 386, Sun, SG) from Pixar, with their renderers included. I have an order form. ;^) P.S.S. I heard that the new Color NeXT machine is being bundled with Renderman. Any truth to this? -- Kurt A. Stephens UUNET: ...!uunet!motcid!stephens Motorola, Inc. WORK: 708 632 6728 EMX2500 Release Group