home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / graphics / renderman-faq < prev    next >
Encoding:
Internet Message Format  |  2002-12-03  |  41.7 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!news-out.visi.com!hermes.visi.com!feed2.news.rcn.net!feed1.news.rcn.net!rcn!lenny.sfrn.dnai.com!lg
  2. From: lg@lenny.sfrn.dnai.com (Larry Gritz)
  3. Newsgroups: comp.graphics.rendering.renderman,comp.answers,news.answers
  4. Subject: RenderMan FAQ - monthly posting
  5. Followup-To: comp.graphics.rendering.renderman
  6. Date: 2 Dec 2002 18:41:47 GMT
  7. Organization: Exluna, Inc.
  8. Lines: 958
  9. Approved: news-answers-request@MIT.EDU
  10. Message-ID: <asg9hb$mlt$1@bob.news.rcn.net>
  11. X-Trace: UmFuZG9tSVZyo5YBLLKkl+N+FR6InF5Qodfi4q5U9lDFQcUQCSzcc6hBjIHonnTy
  12. X-Complaints-To: abuse@rcn.com
  13. NNTP-Posting-Date: 2 Dec 2002 18:41:47 GMT
  14. Xref: senator-bedfellow.mit.edu comp.graphics.rendering.renderman:23574 comp.answers:52147 news.answers:242463
  15.  
  16. Archive-name: graphics/renderman-faq
  17. Posting-Frequency: monthly
  18. Last-modified: 1 Oct 2002
  19.  
  20. This is the Frequently Asked Questions (FAQ) list for the
  21. comp.graphics.rendering.renderman newsgroup.  Please review this FAQ
  22. before posting questions to c.g.r.r.
  23.  
  24. You can find translations of this FAQ in the following places:
  25.         Russian - http://www.dream.com.ua/cgrr_faq.html
  26.     Japanese - http://www.gimlay.org/~andoh/cg/faq/renderman.html
  27.  
  28.  
  29.  
  30. Contents: (* indicates changes since last time)
  31. ---------
  32.  
  33. Administrivia:
  34.   Q: Where can I get translations of this FAQ into other languages?
  35.   Q: What is the charter for comp.graphics.rendering.renderman?
  36.   Q: What other newsgroups have closely related material?
  37.   Q: Where is comp.graphics.rendering.renderman archived?
  38. General RI Questions:
  39.   Q: What is "RenderMan"?
  40.   Q: Where can I find documentation on the RenderMan Interface?
  41.   Q: What's the difference between the procedural interface and RIB?
  42.   Q: What features are required in the RenderMan Interface?  What features
  43.      are optional?
  44.   Q: What do I have to do in order to call my software "RenderMan compliant"?
  45. Implementations:
  46.   Q: What implementations of the RenderMan standard are available?
  47.   Q: Is PRMan a ray tracer? / How can PRMan do reflections if it's not
  48.      a ray tracer? / Was a ray tracer used for reflections in Toy Story?
  49.      How about A Bug's Life?  How about Toy Story 2?
  50.   Q: Is there a Macintosh/OS X/Be/Other port of BMRT?  In the works?
  51.      Will the author of BMRT let me do the port to Mac/OS X/Be/Other?
  52.   Q: How can I make objects cast semi-transparent shadows in BMRT?
  53.      When I try, the shadows look fully opaque.
  54. Miscellaneous:
  55.   Q: What alternate bindings exist to support the RenderMan Interface?
  56.   Q: What front ends (modelers, etc) support the RenderMan Interface?
  57.   Q: What other net resources exist which are related to RenderMan?
  58.   Q: Where can I get the Pixar videos?
  59.   Q: What is the correct capitalization of "Pixar"?
  60.  
  61.  
  62. Nomenclature:
  63.     RI = RenderMan Interface, often refers to the spec document.
  64.     RC = _The RenderMan Companion_ by Steve Upstill.
  65.     SL = Shading Language.
  66.     PRMan = Pixar's PhotoRealistic RenderMan product
  67.     BMRT = Blue Moon Rendering Tools
  68.     ARMan = _Advanced RenderMan: Creating CGI for Motion Pictures_,
  69.         by Tony Apodaca and Larry Gritz.
  70.  
  71.  
  72. ===========================================================================
  73.  
  74.  
  75. Q: Where can I get translations of this FAQ into other languages?
  76. -----------------------------------------------------------------
  77. Russian - http://www.dream.com.ua/cgrr_faq.html
  78. Japanese - http://www.nk-exa.co.jp/~andoh/cg/faq/renderman.html
  79.  
  80.  
  81.  
  82. Q: What is the charter for comp.graphics.rendering.renderman?
  83. -------------------------------------------------------------
  84.  
  85.    comp.graphics.rendering.renderman is an unmoderated newsgroup
  86. intended for the discussion of the RenderMan standard (e.g.
  87. definition, semantics, usage, tips), the RenderMan Shading Language
  88. (e.g. posted shaders, questions, tips), particular RenderMan
  89. implementations, software that uses the RenderMan interface (e.g.
  90. RIB-producing modelers, third party shaders), and comparisons,
  91. comments and questions about RenderMan in general.
  92.  
  93.    This group is NOT intended for the distribution of images or RIB
  94. files.  Large data or binary files should be uploaded to appropriate
  95. FTP or web sites and announced on the newsgroup, but not posted
  96. directly.
  97.  
  98.  
  99.  
  100. Q: What other newsgroups have closely related material?
  101. -------------------------------------------------------
  102.  
  103.     comp.graphics.animation        : computer animation
  104.     comp.graphics.algorithms        : algorithms for graphics
  105.     comp.graphics.rendering.raytracing    : the technique of ray tracing
  106.     comp.graphics.visualization        : visualizing scientific data
  107.     comp.sys.next.programmer        : programming NEXTSTEP
  108.     alt.movies.visual-effects        : discussion of movie effects
  109.     sci.image.processing        : technicalities of image processing
  110.     alt.graphics.pixutils        : pixel and image utilities
  111.  
  112. The FAQ's for these groups (and most others) can be found at
  113.     http://www.faqs.org/faqs/
  114.  
  115.  
  116.  
  117. Q: Where is comp.graphics.renderman archived?
  118. ---------------------------------------------
  119.  
  120. Try http://groups.google.com
  121.  
  122.  
  123.  
  124.  
  125. Q: What is "RenderMan"?
  126. -----------------------
  127.  
  128. Here's the most brief explanation I could come up with:
  129.  
  130.     According to RI (3.1 spec, p. 3): "The RenderMan Interface is a
  131. standard interface between modeling programs and rendering programs
  132. capable of producing photorealistic quality images."
  133.  
  134.     RenderMan is in many respects similar to PostScript, but for 3D
  135. primitives.  The goal is to provide a standard mechanism for modeling
  136. and animation software to send data to rendering systems in a device-
  137. independent way, and with minimal regard to the actual rendering
  138. algorithms being used.  A particular RenderMan implementation may use
  139. scanline methods (z-buffer, REYES), ray tracing, radiosity, or other
  140. methods.
  141.  
  142.     An important aspect of the RenderMan Interface is the Shading
  143. Language (SL).  SL breaks the restrictive paradigm of surfaces being
  144. described by a small number of parameters (Ka, Kd, Ks, etc.).  SL
  145. allows the user to write her own arbitrarily complex descriptions of
  146. how lighting and shading should be computed.
  147.  
  148.  
  149.  
  150. Q: Where can I find documentation on the RenderMan Interface?
  151. -------------------------------------------------------------
  152.  
  153.     The book _Advanced RenderMan: Creating CGI for Motion Pictures_ by
  154. Tony Apodaca and Larry Gritz (Morgan-Kaufmann, 1999) is quite
  155. comprehensive and is *the* bible for RenderMan use these days.
  156. There's also web materials available from http://www.mkp.com/renderman
  157. You can order it from http://www.mkp.com or also from your favorite
  158. online (or brick-and-mortar) book store.
  159.  
  160.     The official RenderMan Interface specification (now at release
  161. 3.2) is surprisingly readable for a standard document, but not in any
  162. way a tutorial.  A must for any serious RenderMan user, it's available
  163. online at Pixar's web site:
  164. http://renderman.pixar.com/oroducts/rispec
  165.  
  166.     _The RenderMan Companion: A Programmer's Guide to Realistic
  167. Computer Graphics_, by Steve Upstill (Addison-Wesley, 1989, ISBN
  168. 0-201-50868-0) is an excellent introduction to the procedural API and
  169. the Shading Language.  Unfortunately, it doesn't address RIB at all,
  170. and the SL section is rather naive -- no antialiasing, relatively
  171. simple shaders, etc.  The next step for the advanced user is 
  172. the Siggraph '98 course notes, described below.
  173.  
  174.     If you're interested in SL, or procedural shading in general,
  175. check out _Textures and Modeling: A Procedural Approach_, by Ebert,
  176. Musgrave, Peachey, Perlin, and Worley (Academic Press, 1994, ISBN
  177. 0-12-228760-6).  The second edition was released in 1998, and contains
  178. updates and new material.  The book web site is 
  179. http://www.csee.umbc.edu/~ebert/book2e.html
  180.  
  181.     There are several good course notes from courses taught at
  182. SIGGRAPH conferences:
  183.   Siggraph '90 course 18 - The RenderMan Interface & Shading Language
  184.   Siggraph '92 course 21 - Writing RenderMan Shaders
  185.   Siggraph '95 course 4 - Using RenderMan for Animation Production
  186.   Siggraph '98 Course #11 - Advanced RenderMan: Beyond the Companion
  187.   Siggraph '99 Course #25 - (repeat with revisions of the '98 course)
  188.   Siggraph '00 Course #40 - Advanced RenderMan 2: RI_INFINITY and Beyond
  189.   Siggraph '01 Course #48 - Advanced RenderMan 3: Render Harder
  190.   Siggraph '02 Course #16 - RenderMan in Production
  191. Many of these are available downloadable in PDF form at
  192.      http://www.renderman.org/RMR/Books/index.html#Sig
  193.  
  194.     Here are some other technical papers that discuss either the
  195. RenderMan Interface or some of the technologies behind its
  196. implementation(s):
  197.  
  198.     Cook, Carpenter, and Catmull. "The Reyes Image Rendering Architecture",
  199.     Computer Graphics 21(4):95-102, 1987.  (Describes the rendering
  200.     method that prman uses.)
  201.  
  202.     Gritz, Larry, and J.K. Hahn.  "BMRT: A Global Illumination
  203.     Implementation of the RenderMan Standard", _Journal of Graphics
  204.     Tools_, Vol. 1, No. 3, pp. 29-47, 1996.
  205.  
  206.     Hanrahan and Lawson. "A Language for Shading and Lighting Calculations",
  207.     Computer Graphics 24(4):289-298, August 1990.  (Describes SL.)
  208.  
  209.     Reeves, Salesin, and Cook. "Rendering antialiased shadows with
  210.     depth maps", Computer Graphics 21(4):283-291, July 1987. (Describes
  211.     the methods that prman uses to compute shadows.)
  212.  
  213.     Slusallek, Pflaum, and Seidel. "Implementing RenderMan--Practice,
  214.     Problems and Enhancements."  Proceedings of Eurographics '94.
  215.     (Describes their implementation.)
  216.  
  217.  
  218.  
  219.  
  220.  
  221. Q: What's the difference between the procedural interface and RIB?
  222. ------------------------------------------------------------------
  223.  
  224.    Two official bindings exist for the RenderMan Interface.  The first
  225. is a procedural API, i.e. a collection of library routines callable
  226. from an ANSI C program.  Those functions all start with Ri, for
  227. example RiBegin().  The procedural API is explained in great detail in
  228. _RC_ and in the RI standard document.
  229.  
  230.    The second binding is called RenderMan Interface Bytestream (RIB).
  231. RIB is an ASCII (or binary) metafile format.  In general, there is a
  232. one-to-one correspondence between the API calls and their equivalent
  233. RIB directives.  RIB is useful for archival and later rendering,
  234. rendering over a network, and hacking scenes by hand.  RIB is
  235. unfortunately not documented in _RC_, but is exhaustively detailed in
  236. _RI_.
  237.  
  238.    The usual way that RenderMan is used is for a program (modeler) to
  239. make the procedural API calls.  The program is linked to a library
  240. which, for each API call, outputs the corresponding RIB to a file.
  241. That archived RIB can later be sent to a standalone renderer which
  242. inputs the RIB and outputs rendered images.
  243.  
  244.  
  245.  
  246.  
  247. Q: What features are required by the RI?  What is optional?
  248. -----------------------------------------------------------
  249.  
  250.     The full list of requirements for a RenderMan-compliant renderer
  251. is given in the RenderMan Interface Specification.
  252.  
  253.     Basically, a RenderMan-compliant renderer should minimally provide
  254. the following features:
  255.  
  256.     Complete hierarchical graphics state
  257.     Orthographic and perspective viewing transformations
  258.     Hidden surface removal
  259.     Pixel filtering and antialiasing
  260.     Gamma correction and dithering before quantization
  261.     Produce images containing any combination of RGB, A, and Z at a user
  262.       specified resolution
  263.     Support all of the geometric primitives of the standard (including
  264.        quadrics, polygons, bilinear and bicubic patches, trimmed NURBS,
  265.        and subdivision surfaces)
  266.     Programmable shading of lights, surfaces, displacements, and
  267.        volumes with shaders in RenderMan Shading Language.
  268.     Provide the ability to index texture, environment, and shadow maps.
  269.     Provide the 15 standard light source, surface, volume, and
  270.        displacement shaders
  271.  
  272.     This is actually quite a lot -- you'll find few rendering systems,
  273. free or commercial, which provide as many features as even the minimal
  274. RenderMan requirements.
  275.  
  276.     In addition, RenderMan-compliant renderers may support several
  277. optional capabilities.  Many of these features are very advanced, and
  278. some rendering algorithms simply cannot support certain features, so
  279. the availability will tend to vary from implementation to
  280. implementation.  The optional capabilities include:
  281.  
  282.     Solid Modeling (CSG)        Special Camera Projections
  283.     Multiple Levels of Detail    Motion Blur
  284.     Depth of Field            Area Light Sources
  285.     Deformations            Displacements
  286.     Spectral Colors            Volume Shading
  287.     Ray Tracing            Radiosity
  288.  
  289.  
  290.  
  291.  
  292. Q: What do I have to do in order to call my software "RenderMan
  293. ---------------------------------------------------------------
  294. compliant"?
  295. -----------
  296.  
  297.     You must support all of the required features, including all of
  298. the geometric primitive types.  You must implement all of the API
  299. calls or RIB requests, even for features you don't support (i.e. at
  300. least have function stubs so your library accepts the calls).  You
  301. must not allow information to be sent through any alternative calls
  302. not defined by the interface, and you may not use any alternate
  303. language for programmable shading.
  304.  
  305.     If you write a RenderMan compliant renderer, you must obtain a
  306. no-charge license from Pixar (in writing).  You basically attest that
  307. your software is compliant with the standard and that you won't abuse
  308. Pixar's trademark and copyrights.
  309.  
  310.     Modeling programs which use the RI standard (i.e. output RIB or
  311. make the API calls) may do so without a license, but must display
  312. Pixar's copyrights as follows:
  313.  
  314.     The RenderMan (R) Interface Procedures and Protocol are:
  315.         Copyright 1988, 1989, Pixar
  316.           All Rights Reserved
  317.  
  318.  
  319.  
  320.  
  321. Q: What implementations of the RenderMan standard are available?
  322. ----------------------------------------------------------------
  323.  
  324.    A lot has changed in the past few years, now there are a plethora
  325. of RenderMan-compliant (or mostly compatible, or somehow related)
  326. renderers.  Here are the main players, listed roughly in the order
  327. that they were made available to the public.  The descriptions are
  328. supplied mostly by the authors, and the FAQ maintainers makes no
  329. specific claims or guarantees about the features or compatibility of
  330. the packages, nor should inclusion in the list imply endorsement of
  331. any products (except where noted).  Lists of RMan-compliant renderers
  332. (even more extensive than this one) can be found at 
  333. http://www.dotcsw.com/links.html and 
  334. http://www.exluna.com/products/links.html
  335.  
  336.    Pixar's implementation of the RenderMan standard is a product
  337. called PhotoRealistic RenderMan ("PRMan", for short).  PRMan is the
  338. most widely used implementation, and in fact dominates the high-end
  339. rendering scene for feature films.  PRMan has been used by many
  340. production houses, including ILM, Digital Domain, Disney, Sony
  341. Pictures Imageworks, Tippet, and others.  It was used to render
  342. effects for The Abyss, Terminator 2, Jurassic Park, Casper, Apollo 13,
  343. Contact, Starship Troopers, Toy Story (Classic and II), A Bug's Life,
  344. Star Wars I, Dinosaur, and many many other films.  PRMan is sold by
  345. Pixar as the "RenderMan Toolkit" and is available for SGI, Sun, DEC
  346. Alpha OSF-1, Linux/Intel, Linux/Alpha, and Windows NT/Intel, all at
  347. US$5000 per CPU.  See www.pixar.com/renderman/artist_tools/tools/ for
  348. details.  Various older versions of PRMan were sold as MacRenderMan,
  349. PRMan on the NeXT computer, and RenderMan for Windows, but these are
  350. all defunct.
  351.  
  352.    The Blue Moon Rendering Tools (originally written by Larry Gritz,
  353. then developed and maintained by Exluna) is probably the most widely
  354. used implementation, in terms of number of users.  It supported ray
  355. tracing, global illumination, caustics, area lights, full
  356. implementation of Shading Language, volume and imager shaders,
  357. displacements, and other advanced features, long before any other RMan
  358. implementations even contemplated such features.  BMRT has been used
  359. (to varying extents) on several film productions, including A Bug's
  360. Life, Stuart Little, Gone in 60 Seconds, and Hollow Man.  BMRT was
  361. discontinued after Pixar sued Exluna and several of Exluna's founders.
  362.  
  363.     RenderDotC (RDC), written by Rick Lamont of Dot C Software, is a
  364. RenderMan-compliant REYES renderer for Windows 95/NT, SGI, and Linux.
  365. More information from http://www.dotcsw.com/
  366.  
  367.    The University of Erlangen's Vision project is an object-oriented
  368. RenderMan-compliant renderer.  Information may be found at:
  369. http://www9.informatik.uni-erlangen.de/eng/research/rendering/vision
  370. Also check out Philipp Slusallek's PhD about the Vision system,
  371. available on the same site.  They're not terribly specific about
  372. the distribution policy -- they seem able to distribute to "selected
  373. institutions", but I don't believe they are widely distributing their
  374. package.
  375.  
  376.     Advanced Rendering Technology (ART) promises a "raytracer
  377. on a chip" which is supposed to be compliant with the RenderMan
  378. Interface.  Info is at: http://www.art-render.com
  379.  
  380.     Just in alpha-test is AQSIS (pronounced "axis"), a new
  381. RenderMan-compliant renderer.  Details from: http://www.maxdepth.demon.co.uk
  382.  
  383.    From Scott Iverson, Siren (DOS only) and AIR (Windows) are
  384. RenderMan-compliant, plus a few interesting extensions.
  385. Details from:
  386. http://home.earthlink.net/~jiverson782/Siren.html
  387. http://www.sitexgraphics.com/  (for AIR)
  388.  
  389.     3DLight is a RenderMan-compliant REYES renderer.  Available for
  390. IRIX, Linux (Intel and PPC) and Windows.  Info from: http://www.3delight.com/
  391.  
  392.    Exluna, Inc.'s "Entropy" renderer was the commercial big brother of
  393. BMRT.  But that really doesn't do it justice -- it was very fast and
  394. efficient scanline renderer that also supports ray tracing, global
  395. illumination, area lights, and caustics.  More Info from:
  396. http://www.exluna.com.  Entropy was used on Star Wars Episode 2,
  397. Stuart Little 2, Reign of Fire, Blizzard, Hero, The Returner, and The
  398. Core.  Entropy and BMRT was discontinued after Pixar sued Exluna and
  399. several of Exluna's founders.
  400.  
  401.  
  402.  
  403.  
  404. Q: Is PRMan a ray tracer?  How can PRMan do reflections if it's not a
  405.    ray tracer?  Was a ray tracer used for reflections in Toy Story?
  406.    How about for A Bug's Life?  Toy Story 2?
  407. ----------------------------------------------------------------------
  408.  
  409.    PRMan IS NOT A RAYTRACER.  It uses the Reyes algorithm (much as
  410. described in the 1987 SIGGRAPH paper, though with many enhancements
  411. and improvements).  Environment and reflection mapping do quite
  412. reasonable approximations to reflection and refraction, in a fraction
  413. of the time it usually takes a ray tracer.  Sometimes the reflections
  414. don't look quite correct compared to a ray tracer, but this is almost
  415. never a problem and almost always worth the time savings.
  416.  
  417.    Pixar used the very same version of PRMan for Toy Story (and all
  418. their other work) as they sell to the public.  You can see examples of
  419. how well PRMan does reflections and refractions, not only in Toy
  420. Story, but also in The Abyss and Terminator 2.
  421.  
  422.    However, ray tracing *was* used for 15 shots of "A Bug's Life."
  423. (Look for the glass bottles!)  For these shots, BMRT and PRMan were
  424. used together (with BMRT doing the ray tracing, PRMan doing everything
  425. else).  The same technique of combining BMRT and PRMan was also used
  426. for "Stuart Little."  The method used to combine the renderers is
  427. described in the _Advanced RenderMan_ book, as well as in the BMRT
  428. documentation (release 2.4 and later).
  429.  
  430.    This technique was not used in Toy Story 2.  All the reflections
  431. in TS2 were good old PRMan environment maps.
  432.  
  433.  
  434.  
  435.  
  436.  
  437. Q: Is there a Macintosh/OS X/Be/Other port of BMRT?  In the works?
  438.    Will the author of BMRT let me do the port to Mac/OS X/Be/Other ?
  439. ---------------------------------------------------------------------
  440.  
  441.    Exluna has hinted that they will probably support OS X soon, but
  442. no timetable has been announced.  Other, more exotic platforms (like
  443. BeOS) are not planned.  Exluna cannot release the source code for
  444. other people to do the port, even under nondisclosure.
  445.  
  446.  
  447.  
  448.  
  449. Q: How can I make objects cast semi-transparent shadows in BMRT?
  450.    When I try, the shadows look fully opaque.
  451. -------------------------------------------------------------------
  452.  
  453. If your object is semi-transparent and the shader sets Oi to something
  454. less than 1 (i.e. it uses "compositing transparency"), then you just
  455. need to add this to your RIB file (in the attribute scope of the
  456. object in question):
  457.  
  458.     Attribute "render" "casts_shadows" ["shade"]
  459.  
  460. (See the BMRT documentation for other options for this command.)
  461.  
  462. BUT... if you have something computing true refraction (like the
  463. glass.sl shader that comes with BMRT), then your shader looks 
  464. something like:
  465.  
  466.     ...
  467.         color cr = Krefr * trace (P, refract (I, N, eta));
  468.     Oi = 1;
  469.         Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) +
  470.          specularcolor * Ks*specular(P,Nf,V,roughness) +
  471.          transmitcolor * cr ;
  472.  
  473. So that will still cast an opaque shadow because you are explicitly
  474. setting Oi=1!  (Get it?)
  475.  
  476. The most straightforward way to deal with this (if you have BMRT 2.4
  477. or later) is to use the new built-in isshadowray() function to make
  478. your shader set Oi differently for shadow checks:
  479.  
  480.     if (isshadowray() == 1) {
  481.         /* shadow -- fake Oi to be <1 */
  482.         Oi = color(1,1,1) - (Kr * transmitcolor);
  483.     } else {
  484.         /* viewing ray */
  485.             color cr = Krefr * trace (P, refract (I, N, eta));
  486.         Oi = 1;
  487.             Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) +
  488.              specularcolor * Ks*specular(P,Nf,V,roughness) +
  489.              transmitcolor * cr ;
  490.     }
  491.  
  492. In combination with the "casts_shadows" ["shade"] attribute, this
  493. should do the trick.
  494.  
  495.  
  496.  
  497.  
  498. Q: What alternate bindings exist to support the RenderMan Interface?
  499. --------------------------------------------------------------------
  500.  
  501.  
  502. Java Bindings for RenderMan from Sean Cier are available from:
  503. http://www.PostHorizon.com/RenderMan-java
  504.  
  505. A Perl 5 binding for RenderMan available from Glenn Lewis:
  506. http://www.gmlewis.com/renderman
  507. Also, Ron Mayer has a page demonstrating the Perl binding at
  508. http://www.geocities.com/ResearchTriangle/8869/RenderSpiders.html
  509.  
  510. "Terry" Python binding for RenderMan: 
  511. http://www.lysator.liu.se/~ture/terry.html
  512.  
  513. SnakeMan is another Python binding for RenderMan:
  514. http://reality.sgi.com/newquist_engr/snakeman
  515.  
  516. The Python Computer Graphics Kit has RenderMan bindings:
  517. http://cgkit.sourceforge.net
  518.  
  519. Michael Johnson has "Adam", a Tcl binding for RenderMan:
  520. ftp://ftp.media.mit.edu/pub/WavesWorld/adam.tar.gz
  521.  
  522. Hardcore Processing has a set of Standard ML bindings (!):
  523. http://www.HardcoreProcessing.com/pro/riml/index.html
  524.  
  525. If the "client libraries" (C-callable libraries that output RIB)
  526. from PRMan or BMRT don't suit your needs, there's also one included
  527. (with source) in Thomas Burge's Affine Toolkit: http://www.affine.org/
  528.  
  529.  
  530.  
  531.  
  532.  
  533. Q: What front ends (modelers, etc) support the RenderMan Interface?
  534. -------------------------------------------------------------------
  535.  
  536. This information was supplied by many people, so it's hard to verify
  537. its accuracy, and it certainly contains individuals' opinions.  Often,
  538. this info comes from the companies supplying the products.  I do not
  539. necessarily endorse any of the products listed, though if I find out
  540. that any are particularly good or bad, I will note it.  The products
  541. are listed in no particular order, though I've broken it into the
  542. categories of: modelers, plugins or converters, and "other".  If you
  543. know of other front ends or products which use RenderMan, please send
  544. me a short paragraph and I will include it here.
  545.  
  546. Also, additional lists of related products and tools can be found
  547. at: http://www.exluna.com/products/links.html
  548. and http://www.renderman.org/RMR/OtherLinks/index.html
  549.  
  550.  
  551. Modelers & Animation Systems which can output RIB natively
  552. ----------------------------------------------------------
  553.  
  554.    Side Effects' Houdini system (modeling & animation) has very
  555. good RenderMan support (both PRMan and BMRT).  It also includes the
  556. ability to create shaders *within* the program by a visual means and
  557. export out the shader source for tweaking and compiling.  [ed. note -
  558. I have heard great things about this package.]  Details at:
  559. www.sidefx.com
  560.  
  561.    Rhino is a Windows (NT or 95) based NURBS modeler which recently
  562. added RIB support.  Their site has a free beta available for download:
  563. http://www.rhino3d.com/
  564. Related tools that suppliment Rhino's RIB export (e.g., by making
  565. shader assignments easier) include RhinoMan
  566. (http://rhinoman.renderology.com/).  Also check out J. Aberg's page 
  567. with tips on using BMRT with Rhino (http://home5.swipnet.se/~w-52046/).
  568.  
  569.    Steve May at the Ohio State University has written an animation
  570. language ("AL"), inspired by the Menv system that's used at Pixar.  It
  571. has great RIB support and is programmable in some very interesting
  572. ways.  It runs on Linux and UNIX platforms and provides a complete,
  573. procedurally-oriented interface to PRMan and BMRT.  More info is
  574. available from:  http://www.cgrg.ohio-state.edu/~smay/AL
  575.  
  576.    AC3D is a 3D modeler by Andy Colebourne.  It's polygon based, but
  577. does extrusions, revolutions, etc.  It's quite nice, runs on Linux,
  578. SGI, Sun, and now Windows, and demo versions are available as
  579. shareware.  And it outputs RIB, among other formats.  More info, and
  580. downloading the software, available at:
  581. http://www.comp.lancs.ac.uk/computing/users/andy/ac3dlinux.html
  582.  
  583.     Vertigo's Animation Machine software (modeler & animation system)
  584. has very nice support for RenderMan output, but it's only a polygon
  585. based modeler.  You can generate RIB files or render directly.
  586. Vertigo comes with the prman runtime library linked in for integrated
  587. rendering, or you can buy Vertigo bundled with prman.  Their phone
  588. number is 604-684-2113.
  589.  
  590.     Macromedia's MacroModel's was a spline-based modeler for Mac and
  591. Win, with pretty good RIB export.  But it's now defunct.  So it goes.
  592.  
  593.     3DReality from Stone Design Corp. (505) 345-4800 info@stone.com
  594. Runs on NEXTSTEP.  A little long in the tooth and has some quirks, but
  595. it's built of dynamically loadable bundles and offers a very accesible
  596. API for adding your own shapes, tools, etc. Reads and writes RIBS just
  597. fine. Really, really good academic discounts and very friendly tech
  598. support.
  599.  
  600.    Amapi 2.05 is mainly a modeller that is fairly good for creating
  601. characters.  It uses NURBS, Splines and Polys.  Intuitive interface
  602. unlike any. http://www.tgs.com
  603.  
  604.    Alias PowerAnimator (also for SGI), versions 5 & 6, output rib,
  605. NURBS including trim curves.  [ed. note: Alias's RIB output is
  606. notoriously mediocre.]
  607.  
  608.    Intuitiv'3d from Intuitive Systems, Inc. tel: 415-852-0245
  609. fax:415-852-1271, info@intuisys.com.  Runs on NEXTSTEP.  Sports a
  610. terrific interface but is rather slow.  Great realtime previews of
  611. lighting and shape, so-so modeling tools, great shader manipulation,
  612. including "MetaShaders" which store surface, color, displacement and
  613. lighting shader info in a single entity.  Reads RIBS but saves to its
  614. own proprietary format (.i3dw)
  615.  
  616.    solidThinking from Gestel Italia, Phone: ++ 39 0444 99 11 00
  617. Fax: ++ 39 0444 99 11 08
  618. Email: info@solid.gestel.it, WWW: http://www.gestel.it
  619.    For Windows 95/NT, this industrial-strength modeler from Italy
  620. approaches Alias in its power and refinement. Great modeling tools
  621. including NURBS, control of every RenderMan parameter, fast and smooth
  622. manipulation of objects and lights. Reads and writes RIBS, support for
  623. both PRMan and BMRT, reads Wavefront, TDDD and DXF files too.
  624.  
  625.    Breeze Designer is a 32-bit 3D modelling and design tool for
  626. Windows NT, Windows 95 and Win32s with exports for the Persistance of
  627. Vision raytracer, RenderMan, and VRML.  Breeze Designer is still under
  628. developement, and updated are posted regularly. The beta latest beta
  629. version is available from the above location. All beta's are
  630. distributed as copyright freeware.
  631. ftp://ftp.povray.org/pub/povray/utilities/modellers/breeze/BreezeDesigner.html
  632.  
  633.    The Valis Group's Pixel Putty Solo for the Mac ($349 retail, $299
  634. direct?) offers an extremely versatile and fluid spline-based modeler
  635. featuring nine different NURBS, lattice deformations and boolean
  636. operations on patches, direct rendering to RenderMan using .slo
  637. shaders, and event-based key frame animation with inverse kinematics.
  638. More information can be had from Valis at: VALISGROUP@aol.com or
  639. 1-800-VALIS-04.
  640.  
  641.    Alias Sketch 2.0 for the Mac is a spline and polygon surface
  642. modeler which supports NURBS but does not have shader support.  Price
  643. is around $600.
  644.  
  645.    Autodesys form*Z is a CAD modeler on the Mac and Win95/NTwhich goes
  646. for $1500.  Polygons, CSG, and spline meshes are supported.  No direct
  647. shader support.
  648.  
  649.    VIDI's Presenter Professional for the Mac ($1500) is a
  650. spline/patch-mesh based modeler with excellent RenderMan support; you
  651. can manipulate shader parameters and everything.  More info at:
  652.     http://www.vidi.com
  653. There's also a site at 
  654.     http://www.webnation.com/vidi/
  655. which contains more info and some useful shaders.
  656.  
  657.    FastCad 3D by Evolution Computing; 437 South 48th Street, Suite
  658. 106; Tempe, AZ 85281; Phone: (602) 967-8633.  FastCad 3D is a 3-D
  659. modeling system capable of producing a RIB file for rendering with a
  660. program like Pixar's Renderman for Windows.  This DOS program can
  661. produce 3D models quickly due to the fact that it is written in
  662. Assembly language.
  663.  
  664.    DesignCad 3D for the Mac and Windows ($500) is a polygonal surface
  665. modeler which outputs RIB.  Supports CSG.  No direct shader support.
  666. More information from http://www.viagrafix.com
  667.  
  668.    VisLab 3D Animation Software by Engineering Animation Inc.has a
  669. full renderman interface.  Normal rendering is done entirely in
  670. hardware, but everything can be automatically piped over to prman, or
  671. written out as an .rib file. Both hardware and prman can also be
  672. combined in the same scene. The interface is really great.  Contact:
  673. Engineering Animation Inc., 2321 North Loop Drive, Ames, IA 50010,
  674. 515-296-9908
  675.  
  676.    Poser 4 is a human shape and pose modeler from Curious Labs Inc.
  677. which supports animation, clothing, and exchanging body parts with
  678. various 3D objects.  It runs on Mac, PowerMac, and Windows.  It can
  679. export RIB.  Details can be found at http://www.curiouslabs.com/ or
  680. by calling (831) 462-8222. (note: the RIB export was fixed by a patch
  681. which had the unfortunate timing of coming out right before BMRT's path
  682. convention was changed to UNIX-style, thus exported RIB files will
  683. require hand editing where texture maps are called) 
  684.  
  685.    ThreeD, by Kieran Jones is a scene modeler that runs under NEXTSTEP
  686. and supports RenderMan.  I haven't tried it, but it's available for
  687. FTP from 
  688. ftp://next-ftp.peak.org/pub/next/apps/graphics/2D_3D/ThreeD.06.NIHS.b.tar.gz
  689. You can contact the author at kjones@vcn.bc.ca.
  690.  
  691.    ShellyLib2.0, a shell-shape-generator which outputs RIB (among
  692. other formats). is available from http://www.shelly.core.de/
  693.  
  694.    VTK, Bill Lorensen's OO scientific visualization toolkit, can now
  695. output RIB.  It's not really a modeler, but if you're into SciVi, you
  696. may think this is very cool.  See http://www.crd.ge.com/~lorensen/vtkrib
  697.  
  698.    PhotoSynthesis 1.0 is a primitive modeler that has full support for
  699. RenderMan on PowerMac platform. Rendering features include automatic
  700. reflection and shadow generation, softbox reflections, and easily
  701. set-up Depth of Field blur. Shaders are fully supported with unique 3D
  702. cursor that replaces Up/At Vector. Exports RIB file format.  Full
  703. featured NURBS, Boolean Operations and 3DMF File Import/Export will be
  704. available in Spring of '97. Available directly from Silver Creek
  705. Software.  For more information call 888/880-0551, e-mail 
  706. SilverCSW@aol.com, or see their WWW site at
  707. http://www.navicom.com/~silvercsw
  708.  
  709. Ayam (formerly known as Mops), from Randolph Schultz, is a free
  710. modeling environment which can write RIB files.  It's available
  711. precompiled for SGI, Linux, and NT.  The home page is:
  712. http://www.ayam3d.org/
  713.  
  714. "Shade" is a modeler/renderer that, among other things, claims to
  715. be able to export its object models as RIB.  It runs under NT.
  716. More details are available from:
  717. http://www.ex-tools.co.jp/product/shade/shddeb_e.html
  718.  
  719. Geometique is a subdivision surface modeler that can output RIB. It
  720. runs under NT.  More details are available from
  721. http://www.geometique.com/
  722.  
  723. Julian Fong has written "L2RIB" (http://www.levork.org/l2rib.html)
  724. which converts Lego (yes, the toy) models created with LDraw
  725. (http://www.ldraw.org/) into RIB files.
  726.  
  727.  
  728.  
  729.  
  730. Converters & plug-ins for modelers
  731. ----------------------------------
  732.  
  733.    Pixar's new MTOR product is a Maya plugin that produces excellent
  734. RenderMan output, just as ATOR was for Alias.  Also includes
  735. compositing software and a system for distributing rendering jobs
  736. across a network.  Details available directly from Pixar.
  737.  
  738.    DriveMan from Gestel Italia converts IGES and Alias Wire files
  739. to RenderMan, for use with either PRMan or BMRT.  There's both
  740. a freeware version and a more complete commercial version.
  741. More information from: http://www.gestel.it/driveman/index.html
  742.  
  743.    SoRender is a freely distributed interactive graphical interface
  744. from Softimage to the RenderMan standard.  The interface is currently
  745. composed of eight tools that are all written as plug-ins to Softimage
  746. and are built on Softimage's DKit.  Features Include: Interactive
  747. Previewing of RenderMan rendered images from within Softimage;
  748. Interactive tools for working with shaders and adjusting parameters;
  749. Tools to make working with shadow maps and environment maps easier;
  750. Shader Keywords to facilitate parameter animation; Support of both
  751. PhotoRealistic RenderMan and BMRT; Access to all tools from within
  752. Softimage; Support of motion blur.  SoRender can be obtained at
  753. http://www-viz.tamu.edu/software/SoRender.homepage.html
  754.  
  755.   A MentalRay-to-RenderMan converter: 
  756. http://www.dctsystems.freeserve.co.uk/ethel.html
  757.  
  758.    WaveMan, a Wavefront-to-RenderMan conversion tool, is available
  759. from Minds Eye Graphics (mindseye@infi.net, 804-643-3713).
  760.  
  761.    Animal Logic sells plugins for both SoftImage and 3D Studio Max
  762. that output to RenderMan and BMRT.  Details about SoftMan and MaxMan
  763. Details can be found at: http://www.animalogic.com/Products
  764.  
  765.    Lost In Space makes a product called Siren which converts SoftImage
  766. scenes into RIB files.  Info is available from siren@lostinspace.com.
  767. Siren converts Softimage 3D scene and model files into RenderMan RIB
  768. and shader files. Siren 2.0 works only on SGI's running IRIX 4.0.5 or
  769. later. It can read Softimage 2.66 scene/model files. SiRen only has a
  770. comandline/scripted interface, but is now being upgraded to a point
  771. and click version 2.1.  To run siren you must have a copy of the
  772. Softimage Developers Kit.  US$2000 per license, bulk discounts
  773. available. 30% discount for educational institutions. Source licensing
  774. is available. Siren + Renderman deals available.  Pay for Siren2.0 and
  775. get a free upgrade to Siren2.1 when it is released.
  776.  
  777.    There is a 3D Studio to RIB converter by Alex Segal on the net, see
  778. http://www.r-m-c.ru/video/3ds2rib.htm for details.
  779.  
  780.    Envisions Solutions sells Envision-It, which converts DXF to RIB.
  781. Not a modeler.  Sells for around $200.
  782.  
  783.    Okino Computer Graphics, Inc. has two products called the 'NuGraf
  784. Rendering System' and 'PolyTrans', which include Renderman export
  785. capability. It can convert from DXF, 3D Studio, Lightwave, OpenFlight,
  786. IGES 5.3, Wavefront, SoftImage and many more (the latter 3 formats
  787. allow output of trimmed NURBS to Renderman in a clean form). Output of
  788. animation data from Lightwave and 3D Studio to Renderman will follow
  789. in v2.1 of PolyTrans. A demo and other info are available from the WWW
  790. site: http://www.okino.com/conv/conv.htm Contact: 905-672-9328 (voice),
  791. 905-672-2706 (fax).
  792.  
  793.    Viewpoint Datalabs has a product called InterChange (formerly
  794. Syndesis InterChange) for Windows and SGI, that converts between more
  795. than fifty 3D file formats, including Softimage, Alias, LightWave, 3D
  796. Studio and many others.  It can export geometry to a simple RIB file.
  797. For info, see:  http://www.viewpoint.com/
  798.  
  799.    Cow House has a free converters from Inventor2.0 and VRML to
  800. RenderMan & BMRT.  For details, see:
  801.     http://www.cowhouse.com/Home/Converters/converters.html
  802.  
  803. There's a plugin for Moray (a modeler for POV-Ray) that will output RIB.  
  804. Only geometry is exported, and only for the simple primitives.
  805. Details at:  http://pages.hotbot.com/arts/are/index.html
  806.  
  807. LtoR is a plugin for NewTek's Lightwave 3D to output RIB.  The web
  808. page is in Japanese, but the software reportedly works fine and has
  809. its UI in English.  The software home page is:
  810.     http://www.win.ne.jp/~s-shirai/html/plugin/ltor.html
  811.  
  812. Another Lightwave-to-RIB converter is CeX3D.  It's commercial, but
  813. a demo version is available at http://www.CeX3D.net/
  814.  
  815. LightMan, by Tim Dapper, is a LightWave plugin that exports to
  816. RenderMan-compliant renderers.  Info can be found at:
  817. http://www.td-grafik.de/softw/lightman.php3
  818.  
  819. The Cornell Theory Center has an extension to Data Explorer
  820. (http://www.opendx.org/index2.php) that exports for BMRT (and
  821. presumably for other compatible renderers).  Info from:
  822. ftp://ftp.tc.cornell.edu/pub/Data.Explorer/extensions/Rendering/README
  823.  
  824.    Mike Hough has written a RIB export plugin for Hash Animation
  825. Master '99, available from: http://free.prohosting.com/~olana/plugins/am2rib/
  826.  
  827.    Another Hash Animation Master plugin by Nicholas Yue is 
  828. available at http://users.tpg.com.au/tmyue/
  829.  
  830.  
  831.  
  832.  
  833. Other Tools
  834. -----------
  835.  
  836.    RenderWrapper (RW) is a simple Tcl/Tk script for conveniently
  837. setting the parameters for the rendrib, rgl, and rendribv renderers
  838. from BMRT.  It provides a GUI for rendering single or multiple frames
  839. in wireframe, polygon, and photorealistic modes. RW runs on Unix and
  840. Windoze95/NT systems.  It is FREE and can be downloaded from:
  841. http://tangle.seas.gwu.edu/~gogo/rendwrap.html
  842.  
  843.    The Affine Toolkit by Thomas E. Burge contains a number of RIB
  844. filters and massagers, including binary RIB dumping and conversion
  845. utilities, utilities to parameterize NURBS in RIB files by arc length,
  846. polish up RIB files generated by Alias, etc.  More info and download
  847. at: http://www.affine.org/
  848.  
  849.    Cinema Graphics is now selling a product called "Shade Tree"
  850. which is a dataflow system for writing RenderMan shaders.  Info
  851. at http://www.cinegrfx.com/
  852.  
  853.    Pixar used to sell Showplace for the Mac and Typestry 2 for the
  854. Mac and PC.  They're nice little programs if you can get your hands
  855. on them, but Pixar no longer sells these.
  856.  
  857.    WavesWorld, a set of UI, modeling and animation objects available only
  858. atop NEXTSTEP, available via http://xenia.media.mit.edu/~wave/
  859. An object oriented framework consisting of two "kits" of objects and
  860. lots of examples, WavesWorld is based directly atop the RenderMan
  861. interface.  Wave has also made available a Tcl binding for RenderMan.
  862.  
  863.  
  864.  
  865.  
  866.  
  867. Q: What other net resources exist which are related to RenderMan?
  868. -----------------------------------------------------------------
  869.  
  870.    Pixar home page:  http://www.pixar.com
  871. Pay particular attention to
  872.     http://www.pixar.com/renderman/developers_corner/rispec/index.html
  873. which has the RenderMan spec and all of the documentation for PRMan.
  874.  
  875. The Exluna home page is:  www.exluna.com
  876. Especially noted is the list of links: 
  877. http://www.exluna.com/products/links.html
  878.  
  879.    Tal Lancaster of CalTech (now a TD at Disney) has set up a "RenderMan
  880. Repository" for dissemination of shaders, RIB files, etc.  Among other
  881. things, this site has pointers to just about everything else that has
  882. RenderMan related stuff. Here's the URL:  http://www.renderman.org/RMR
  883.  
  884. The Ebert, et al. book _Texturing and Modeling_ (mentioned earlier)
  885. has an FTP site with the examples from the book, including RenderMan
  886. Shading Language source code:
  887.     ftp://archive.cs.umbc.edu/pub/textures
  888.  
  889. Professor Ken Musgrave (one of the authors of the T&M book) taught a
  890. graduate seminar at GWU on procedural texturing.  Student projects,
  891. images, and shaders can be found at:
  892.     http://www.seas.gwu.edu/graphics/ProcTexCourse/
  893.  
  894. Similarly, Stephen May recently taught a course on digital lighting
  895. at Ohio State.  A Shading Language tutorial and student projects
  896. can be found at these addresses:
  897.     http://www.cgrg.ohio-state.edu/~smay/DigitalLighting/Course.html
  898.     http://www.cgrg.ohio-state.edu/~smay/RManNotes/RManNotes.html
  899.  
  900. Michael B. Johnson (a.k.a. "Wave") has a home page at:
  901.     http://wave.www.media.mit.edu/people/wave/
  902. He's built a lot of software that runs on top of RenderMan (see
  903. the description of WavesWorld earlier in this FAQ).
  904.  
  905.    Geomview is an interactive 3D geometry (in the mathematical sense)
  906. viewing program written at the Geometry Center.  It can export RIB.
  907. URL is http://www.geom.umn.edu/software/download/geomview.html
  908.  
  909.    Doug Ward has a site that's about using VIDI Presenter 3D.  If you
  910. look on: http://www.webnation.com/vidi/ (select the shaders button on
  911. the frame) you'll find some shaders and other goodies that may be
  912. useful even if you don't use Presenter.
  913.  
  914. Tips on using Houdini and RenderMan together are available from:
  915. http://www.renderman.org/RMR/rmHoudini/
  916.  
  917. RenderMania, maintained by Simon Bunker, is another collection of
  918. links and useful information about rendering and production, and in
  919. particular things related to BMRT and RenderMan:
  920. http://www.rendermania.com/
  921.  
  922. Shaders, textures, models, and so on are available from TurboSquid
  923. (http://www.turbosquid.com).  There are a bunch of RenderMan shaders
  924. compiled for both PRMan and BMRT available for $10 each.
  925.  
  926. Malcolm Kesson has course notes on using RenderMan available at
  927. http://cmpa.ca.scad.edu/faculty/kesson/Ca301/bookindex.html
  928.  
  929.  
  930.  
  931. Q: Where can I get the Pixar videos?
  932. ------------------------------------
  933.  
  934. Pixar's animation video (which contains Luxo Jr, Reds Dream, Tin Toy
  935. and Knickknack) is available directly from Pixar.  The cost is $25.00.
  936. Just call 1 800-888-9856 or 510-236-4000.  The tape is available in
  937. both VHS NTSC and PAL formats.
  938.  
  939. The Pixar shorts were released by Disney Home Video as "Tiny Toy
  940. Stories".  You should be able to find them at your local video store
  941. for around $10.
  942.  
  943. Recently, Pixar shorts have been made available in quicktime format on
  944. their website, at: http://www.pixar.com/shorts/index.html
  945.  
  946.  
  947.  
  948.  
  949.  
  950. Q: What is the correct capitalization of "Pixar"?
  951. -------------------------------------------------
  952.  
  953.    It's written "Pixar", just as it is throughout this FAQ.  I don't
  954. know why people keep capitalizing it, perhaps they are trying to
  955. duplicate the logo, which is in a particular typeface and happens to
  956. be all caps.  In any case, it's not an acronym like IBM.  It's a
  957. regular company name like Disney.
  958.  
  959.  
  960.  
  961. ----------------------------------------------------------------------
  962.  
  963. This FAQ was mostly written and maintained by Larry Gritz, who wishes
  964. to thank the contributions of: Antoine Durr, J.J. Hoesing, Steve
  965. Hollasch, Michael B. Johnson, Joshua Kolden, Andrew MacRae, Nino
  966. Mendolia, David Milner, Pohl Longsine, Steve Weintz, and others.
  967.  
  968. Please send comments, additions, gripes to: lg AT larrygritz DOT com
  969.  
  970. --
  971. Larry Gritz
  972. lg AT larrygritz.com
  973.