Very cool! Now, if I could just get some free time to play with it...
James Gosling
Fellow and Vice President, Sun Microsystems, Inc.
Creator of the Java programming language


What is jrMan?

jrMan is an open source version of the REYES rendering algorithm used by Pixar's PhotoRealistic Renderman.

Almost all digital production work in the film industry is rendered using this algorithm, yet most computer graphics textbooks fail to mention it or only provide a very superficial description of how it works.

The main objective of the jrMan project is to provide an open source implementation of the REYES rendering algorithm to permit, both students and teachers, to understand how it works and experiment with it.

To achieve this objective the source code must be easy to read and should run on most operating systems. This is the one of the reasons we are implementing it in Java.


February 20, 2007

jrMan 0.4 released! You can download it here.

New features:

  • Curves
  • Rational bicubic patches
  • Patch meshes
  • Smooth micropolygon interpolation
  • Delayed ReadArchive
  • Alpha output in RGBA images
  • Many bug fixes
  • Smaller RAM footprint when rendering large/complex scenes

This image was rendered in 6m6s using a 3 GHz Pentium 4
(Killeroo data used with permission from

December 16, 2003

jrMan 0.3 released! You can download it here.

New features:

  • Many performance optimizations, and it is now up to twice as fast when rendering complex images!
  • An improved user interface and command line options
  • Doesn't require Java3D anymore
  • Can generate noise() based procedural textures

This image was rendered in 52s using a 1 Ghz Duron

September 30, 2003

jrMan 0.2 released! You can download it here.

August 23, 2003

We finished implementing shadows in jrMan (using shadow maps)

This image was rendered in 11m using a 1 GHz Duron (with 8x8 samples per pixel, .25 shading rate and 64 samples for the shadow map, with more "typical" values it only takes 2m17s)

June 27, 2003

jrMan now implements high quality texture mapping (using mipmaps and trilinear interpolation) and all standard Renderman pixel filters.

This image has only 3 primitives! (2 spheres and 1 bilinear patch). All the detail is done with texture mapping and displacement mapping. It was rendered in 3m36s using a 650 Mhz Athlon.

June 6, 2003

We are doing some texture tests for jrMan 0.2.
Although it is a simple implementation of texture mapping (and is not the one which will be released with jrMan 0.2!) the results look nice.

Here is a frame from an animation test with textures:

This animation was rendered in 2h42m14s using a 650 Mhz Athlon. Each frame is 512x384 and took an average of 2m8s to render. You can click on the image to see a full size frame, or you can click here to download the entire animation (831 KB)

May 29, 2003

jrMan 0.1 released! You can download it here.

Here are some sample images rendered by jrMan 0.1:(you can see the full size images by clicking on the samples).

May 23, 2003

Added surface shader: shinymetal.

Added volume shaders: fog and depthcue

Added better error handling

May 22, 2003

New primitives added: Bilinear and Bicubic (Bezier) Patches.

Added surface shaders: constant, matte, metal, plastic, glow, randomcolors

Added light shaders: ambientlight, distantlight, pointlight, spotlight

Added displacement shader: bumptest

This scene has bezier patches, matte and metal surfaces, spot lights and a displacement shader, rendered in 3m30s using a 1 GHz Duron.

This scene has 2 spheres deformed with the bumptest displacement shader and one spot light, rendered in 1m4s using a 1 GHz Duron.

This scene has many lights and a glow surface shader, rendered in 1m49s using a 1 GHz Duron.

May 18, 2003

New primitives added: Cone, Disk, Points

Added optimization to avoid shading primitives hidden by other primitives

Added optimizations for large scenes.

This scene has 27,000 capsules and was rendered in 2m10s using a 1 GHz Duron.

This scene has over 40,0000 Spheres and was rendered in 44s using a 1 GHz Duron (fov = 80).

The same scene with 40,0000 Spheres and 10,000,000 dust particles (using Points), rendered in 22m18s using a 1 GHz Duron.

Close up (fov = 5) of the scene with 10,0000,000 dust particles, rendered in 1m21s using a 1 GHz Duron.

Close up (fov = 1) of the scene with 10,0000,000 dust particles, rendered in 1m using a 1 GHz Duron. Here can be seen the hexagons used for the Points primitive.

May 7, 2003

New primitive added: Cylinder

Also fixed a bug in the implementation of Torus

May 6, 2003

With the new optimizations in jrMan, André Descombes reports that he now rendered the one million spheres image in 7 minutes!
Note: André also tried different bucket sizes to see wich one gave best performance to render this image. This result was obtained with a 100x100 bucket size. Thank you to Giuseppe Zompatori for the idea of trying different bucket sizes!

May 5, 2003

The draft version of jrMan can now render images using two types of primitives: Sphere and Torus.

Here is a sample image rendered with jrMan by André Michel Descombes in 58 minutes using an Athlon at 1.2 GHz. This scene has 1,000,000 spheres!

You can click on this small sample to see the full 1200x900 rendered image.


SourceForge page: jrMan

Mailing Lists:

  • jrMan users
  • jrMan developers
  • jrMan announce
  • Source Code:
    You can see what we are working on by checking out the drafts module from the CVS repository and subscribing to the jrMan developers mailing list.

    To check out the drafts module:

    cvs -d login
    cvs -z3 -d co drafts

    Or you can browse the CVS repository at

    RenderMan ® is a registered trademark of Pixar

    Download Logo