[Haskell-cafe] Ray tracer

ajb at spamcop.net ajb at spamcop.net
Sun Jul 15 20:58:26 EDT 2007

G'day all.

By "production grade", I assumed that meant "suitable for use in a

Quoting Sebastian Sylvan <sebastian.sylvan at gmail.com>:

> Neither does mentalray!

Correct!  Most production renderers don't have GUIs.  Anything that
REQUIRES a GUI is by definition a toy because it can't be used in a
farm.  But I digress.

> "production grade" probably means:

"Production grade" means that you need to get a couple of hundred
little things correct.  That's true of any application, whether it's
a renderer or a database server.  For example: If memory can hold
N "things", the system shouldn't thrash if you feed it N+2.

On real productions, the #1 thing that you need is flexibility.  You
ideally want at least two ways to do any one task (so you can choose
which is the most appropriate), and for as many knobs as possible to be
exposed so you can tweak them.

And at the highest level, the main thing I'd be looking for is some degree
of standards compliance.  I want to be able to take my modeller (say, Maya),
and render the scene in at least two different renderers, and for the
resulting images to line up exactly.  That way, I can render elements
separately, using the most appropriate tool for each element, and combine
them afterwards.

And given that ray tracing requires the highest-level geometry for the
entire scene be retained in an online database (often in memory), I want
to avoid that if I don't need it for some element.

Remember that rendering 85 minute movie (typical length for an animated
feature), at 24 frames per second, allowing a year of computer time,
gives me less than five minutes to spend on each frame, and that assumes
you can keep the pipeline full 24/7 and you only compute each frame once.

Yes, you can multiply that by the number of CPUs in your render farm,
but still, that's what you're up against when you're talking "production

Andrew Bromage

More information about the Haskell-Cafe mailing list