Show and Tell

(various pictures and animations and the code used to make them)

What's on this page?

There is also a page dedicated to light blockers.


Saturn Animation

In honor of the Saturn plane occurring Monday May 22, I have created this little MPEG animation. It is a fly-by of a Saturn like planet consisting of 60 frames 200x100 (< 30K). More information about the event can be found here:

Saturn Ring Plane Crossings of 1995-1996 (JPL) .

../st/sat.29.tiff (click image to get larger frame). sat.mpeg

(12/18/96 Tal--This animation seems to only play correctly under the MPEG player under NeXTSTEP. So here is a MOV animation . This version is about 270k and the frames are 300x220. NOTE: It has been some time since I have seen this animation so large and I have noticed that the stars are way, too big. It looks like they have been motion blurred, but this is not the case. When, I get around to it , I may try doing another version that fixes this.)

The shaders that were used to create this animation were: TLSaturn , TLRing , LGStarfield , and RCGlow . Its RIB (about 340K).

Also, I have included C source . Which I feel will be more instructive than the RIB. If you do decide to use the C source to generate the RIB, you will need the camera code . NOTE: The C source for the Terran animation offers a much better frame-work! I highly recommend using that one if you plan on hacking with the code.

Feel free to let me know what you think or how I can make it better, cooler, etc.


Terran Animation

Yet another fly-by, this time of an Earth-like planet consisting of 60 frames 200x100 (< 13K).

../st/terran.11.tiff (click image to get larger frame). terran.mpeg

(12/18/96 Tal--This animation seems to only play correctly under the MPEG player under NeXTSTEP. So here is a MOV animation . This version is about 180k and the frames are 300x220. NOTE: It has been some time since I have seen this animation so large and I have noticed that the stars are way, too big. It looks like they have been motion blurred, but this is not the case. When, I get around to it , I may try doing another version that fixes this.)

The shaders that were used to create this animation were: TLTerranNwhite , KMTerranbump , KMPlanetclouds , LGStarfield , and RCGlow. Its RIB (about 80K).

Also, I have included C source . Which I feel will be more instructive than the RIB. If you do decide to use the C source to generate the RIB, you will need the camera code . Also, this source is much better than the saturn.c. Mainly, all of the elements have been moved to function calls. Making much more straight forward to use the same frame-work for other planets. Another feature that many BMRT users may find useful is now the frames can be rendered independently (using the -frames option). The saturn animation required the frames to be rendered sequentially from first to last.


Nebula Animation

../st/nebula.0.tiff (click image to get larger frame). nebula.mov (360 frames 300x220 -- 1.5M).

3/2/97 -- This animation has been a long time in the making. I had started it nearly two years ago. But I was never really happy with it and never found the time to work on it. Then last weekend, I decided to try and wrap it up.

There are still some things I am not happy with: need to work on a better sun, maybe throw in a couple of moons. Maybe add a semi-transparent sphere around the planet to add some atmospherics. The nebula could be better too.

I started out with a picture of the Orion Nebula from the Hubble Space Telescope. The original image can be found at http://oposite.stsci.edu/ftp/pubinfo/tiff/oria.tiff -- 1M.

Here is an excerpt of the press release that goes with the image.

GAS PLUME NEAR THE EDGE OF ORION NEBULA         STSCI PR-92-29A
Wide Field/Planetary Camera

This HST "true color" mosaic image of a small portion of the Orion
Nebula shows a wealth of detail never seen before.  New features
include: elongated objects oriented on the brightest stars in this
region (which are located just off the edge of the picture); rapidly
expanding plumes of material around young stars and protoplanetary
disks.

Ater getting the original image, I changed the aspect ration to 1:1 (RenderMan likes textures that are power of 2), staturated the colors, and rotated it. Then this is what I used for the texture-map. ( The original is on the left and the new converted one is on the right. The images are scaled to aprox. 25%. Clicking on them will download the full image. 1M and 0.47M respectfully.)

The shaders that were used to create this animation were: TLSpaceCloud, KMVenus, LGStarfield, and RCGlow. The compressed RIB is about 12K.

Also, I have included C source. Which I feel will be more instructive than the RIB. If you do decide to use the C source to generate the RIB, you will need the camera code.

Please see the Copyright © reguarding the use of images from the HST .


Bounce1 Animation

That's right another boring bouncing ball animation. NOTE: I am not trying to simulate any laws of physics. But this does give a good feel for the shader and there is some subtle motion blurring.

../st/TLShiftedD_R.22.tiff (click image to get larger frame). TLSD_R.mpg 45 Frames 384x256 (130K).

This animation was created to give a full view of the TLShiftedD_RTile shader. Also, the RIB (5k compressed) was generated very easily with the help of Wave's most excellent WavesWorld.

Bounce2 Animation

That's right another boring bouncing ball animation. NOTE: I am not trying to simulate any laws of physics. But this does give a good feel for the shader and there is some subtle motion bluring.

../st/TLSMoon.11.tiff (click image to get larger frame). TLSMoon.mpg 45 Frames 384x256 (130K).

This animation was created to give a full view of the TLShiftedMoonTile shader. Also, the RIB (5k compressed) was generated very easily with the help of Wave's most excellent WavesWorld.


Orange in Fog Animation

../st/oran.8.tiff oran.mov 40 - 384x286 frames (180k).

Just an orange rolling in the fog. This was inspired from a slide from Sharron Calihan's Lighting Class at Siggraph '96. Nothing too fancy. But something about it looked kind of cool.

I may do another version from a different camera postion.

Things, I am not happy with:

1) The orange isn't that great (one factor may be is that it is just bump-mapped, rather than being displaced)

2) The shadow, on the orange, looks kind of funky (ie. it is very hard and straight). Again this might be an artifact of the orange only being bump-mapped.

3) May want more ambient light to see more of the orange near the ground.

If anybody has any improvements or ideas on how to improve it, please let me know.

The RIB (~5k compressed) was generated very easily with the help of Wave's most excellent WavesWorld.

The animation uses TLOrange.sl and TLSmoke.sl shaders.


Apodaca Device

I first heard about the Apodaca Device in the SIGGRAPH 1999 RenderMan course, "Advanced RenderMan: Beyond the Companion". You can find it on p. 60 of those course notes.

You may not realize it but the PRMan Shading Languange is a parallel programing language. Specifically, a shader executes in SIMD (Single instruction, multiple data). In otherwords the contents of the shader executes in parallel over an entire grid.

The Apodaca device is a hack that Tony Apodaca came up with in 1990 to stop wasted calculations. It can also be used to manage data-flow and sycronization data.

The later is what I need to get my onlyOnce DSO to work in the desired fashion. Which is the next topic.


OnlyOnce DSO

The problem: You want something to happen only once in your shader (Say you have a particular message that should be printed only once) but the PRMan shading language operates in parallel and there isn't any builtin construct to do this.
The Solution:Write a DSO and use the Apodaca Device to syncronize the data.

PRMan Filtering

Brent Burley has put together some interesting notes on his findings as he was trying to better understand how PRMan does filtering and the differences between the different filtering kernels.

Don't forget feel free to send me your stuff, so they can get added to the RMR.

Any comments or suggestions? Send them to: rib AT renderman DOT org


For More Details (Children):
[rmBlockers]

rmShow&Tell was converted on Sun Aug 10 15:14:37 PDT 1997 by the eText Engine, version 5, release 0.95

The RMR is Copyright © 1995-2008 Tal L. Lancaster all rights reserved