Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!dorsai!parnoux From: parnoux@dorsai.com (patrick arnoux) Newsgroups: comp.graphics Subject: Re: Shading Language (was: AT&T Pixel machine) Keywords: RenderMan, Shading Language Message-ID: Date: Fri, 29 Mar 91 16:07:43 EST References: <1991Mar18.191838.3220@pixar.com> Organization: The Dorsai Diplomatic Mission aaa@pixar.com (Tony Apodaca) writes: > > have a ".sl" file extention. The RenderMan Interface Specification > describes both parts in even more gory detail. They are both publicly > available formats. > It turns out that the renderer Pixar sells (PhotoRealistic-RenderMan) > has a run-time interpreter of sorts which processes the shading language. > It can't read the source code directly, instead it reads a "predigested" > version which is typically stored in a ".slo" file. The .slo file is > some bizarre private format used by that interpreter. However, that is > not important. A different renderer might read the source code directly, > or might compile it into a "real .o" file and dynamically link it. > Whatever works. > If some renderer cannot accept shader files, it is because writing > a renderer which supports user-programmable shading is REALLY HARD, > not because .slo files are somehow magical or secret. The magic is in > the renderer! > In order to be compatible with PhotoRealistic-RenderMan (c)Pixar it is necessary to implement a renderer which also understand ".slo" files. In a production environement, where you have a couple or a dozen Macs and/or PC clones feeding RIB/shader files to the Pixel Machine (via the Sun or whatever host being used) rolling your own is not an option, unless the modeling packages being used on the Macs/PCs were modified. The idea is to have a Standard environement across all the platforms, so that I can use all the modelers out there that generate RIB files and use the shaders that they are using and use all the shaders that have not been provided in source form. In short I believe in taking the long term view and global approach. Before any images can be generated, they have to be modelled and the complete picture requires that the entire process be taken into account, from generating the objects to the final image. Therefore I disagree that the magic is in the renderer as you put it. Even though the RIB and shading language formats are described in excedingly "gory details" the format of the shader compiler which outputs that "predigested" ".slo" file is not. And that same ".slo" file is the one used by the modellers and which is sometimes not provided in source format. If one were to work in a stand-alone environement then the outside world would not matter and "Whatever works" would be fine. But in order to function in the real world, one has to interface to the real world, and rolling your own does not always work. parnoux (patrick arnoux)