Newsgroups: comp.graphics Path: utzoo!news-server.csri.toronto.edu!rpi!uupsi!pixar!aaa From: aaa@pixar.com (Tony Apodaca) Subject: Re: Shading Language (was: AT&T Pixel machine) Message-ID: <1991Mar18.191838.3220@pixar.com> Summary: The ".slo format" is a red herring. Keywords: RenderMan, Shading Language Sender: news@pixar.com (Usenet Newsmaster) Nntp-Posting-Host: woody Organization: Pixar -- Point Richmond, California References: <12303@ur-cc.UUCP> Date: Mon, 18 Mar 1991 19:18:38 GMT In article bcorrie@csr (Brian Corrie) writes: >parnoux@dorsai.com (patrick arnoux) writes: > >>CAVSoftware in New York City has a renderer running on the Pixel Machine >>which reads RIB files (RenderMan Interface Bytestream). The implementation >>is fairly complete (Just read Steve Upstill's book, all the information >>is there). But while it is possible to generate images from Dimension, >>Macromind, Strata, Swivel, and most other modelers that output RIB, the >>program cannot deal with "shader files". Pixar does not release the >>format of the .slo files, therefore only a limited number of preset >>shader types are built into the program.... > >Can anyone fill me in on just what a .slo file is? I am playing/thinking >about RenderMan and the shading language, but do not have access to any >RenderMan renderers, so don't know how they work. Is the shading language >interpreted at run/render time, or do they do dynamic loading of the >shader descriptions some how, with the .slo files the executables for >the shader?? I might be able to clear up some confusion here.... A geometric model described with the RenderMan Interface comes in two parts: the "shape" description (the RIB file) and the "shade" description (the shader files). Steve's book describes both the C interface to the shape library, as well as the RenderMan Shading Language (a C-like language). Shading Language programs typically 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! I am glad to hear that there is a RenderMan-compatible renderer available for the AT&T Pixel Machine (I had not heard of it before). Does anyone out there have any experience with it they could share? P.S. Steve will be glad to know you liked his book! ;-) -- UUCP: {sun,ucbvax}!pixar!aaa Tony Apodaca ARPA: aaa@pixar.com Chief Architect US Snail: 1001 W Cutting, Richmond, CA 94804 RenderMan Interface