Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!motcid!stephens From: stephens@motcid.UUCP (Kurt Stephens) Newsgroups: comp.graphics Subject: Re: A modest proposal Keywords: standards, raytracing, rendering, renderman Message-ID: <4329@cherry6.UUCP> Date: 23 Aug 90 18:03:10 GMT References: <1990Aug15.012204.19344@watserv1.waterloo.edu> Distribution: comp Organization: Motorola Inc., Cellular Infrastructure Div., Arlington Heights, IL Lines: 48 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