PDA

View Full Version : Pixar in realtime


SquishMe
06-15-2006, 04:26 AM
I was watching Pixar's short film "Boundin'" for the millionth time with my 2 year old daughter, and I thought, "Hmm, that would be fun to do in realtime."

Anyway, I doubt I will get time to work on it and I would have to find a good artist or artists to help so it will probably just stay a dream.

However, I thought it might be a cool thing to discuss: the technical techniques and difficulties that would come up in the project.

For example:

The water is on 3 levels, meaning the whole scene (or parts of it) would have to be rendered at least 4 times to get reflections. Yuck!

Anti-aliasing, soft-shadows, water, dust, focal blur, and a few others would be slightly difficult, but not too bad. I think the caustics on the rocks and the volumetric wool would cause the greatest headaches. Although perhaps both could be faked satisfactorily. ;)

What do other people think?

neuromancer1978
06-28-2006, 10:15 PM
The CLOSEST to Pixar quality in real time environment would be current GPU shaders, with some trickery in the meshes. Renderman is just simply too powerfull to render in real time (30+ fps), because it really strives to be as accurate as possible. But however if you have say NVIDIA's CG suite, then making realtime shaders would be pretty easy. All you really need to do something like this in real time is an environment modeled in say UnrealEd, then using the NVIDIA software, make up custom shaders. Now that modern GPU's are capable of doing basic reflection, that would not be much of a problem, just not as accurate.

I guess the only thing that would take the most time would be to model, rig and animate the characters - assuming this would be done. Most of the characters in games are limited in moves. So this would only increase the setup time, but not so much the execution.

I think it could be done, something like Boundin.... but it would not be as visually stunning, and there obviously would be some limits.

Once I get my new system that will have a recent NVIDIA card, I plan on getting the CG softs from NVIDIA so I can start learning modern GPU shaders. I use Renderman a lot and the basics of RSL and GPU shaders are almost the same. I would love to help out within my limits (school, work). As I am dropping my involvment in an indie movie soon I will have a bit of free time for little projects.

Am I missing anything?

SquishMe
06-29-2006, 04:12 AM
Hi Neuromancer

Yes, basic reflection can be done in realtime, and there is some nice research on making it more accurate. I would love to have a play with that if I had but the time.

Renderman uses reyes architecture which dices geometry into microfacets guarenteed to be sub pixel in size. Certainly this would be impossible on today's GPUs, even with the geometry shaders in DirectX10 *salivate*

And as for animation, I think things like Collada should make that relatively straightforward. However, I don't know much about that yet but I will probably be looking into it in the near future.

It would certainly be great to start a small collaborative project doing something like this. If I ever become less busy, then I would like to make a plan for a project.
Ahh, if I ever become less busy..... I can dream!


http://www.iit.bme.hu/~szirmay/ibl_link.htm
http://en.wikipedia.org/wiki/Reyes_rendering
http://download.microsoft.com/download/f/2/d/f2d5ee2c-b7ba-4cd0-9686-b6508b5479a1/Direct3D10_web.pdf
https://collada.org/public_forum/welcome.php

redway3d
06-29-2006, 11:22 AM
Hello,
We've published a new product called the Redviewer. It basically uses a lot of GPU shaders for real-time rendering. Maybe it may help in your case (you can find a trial download at www.redway3d.com (http://www.redway3d.com)), or give you some clues on what we were able to do in this area.

rendermaniac
06-29-2006, 01:50 PM
Sorry to go a bit offtopic, but is there any chance of getting a Redviewer for Maya? IPR hasn't been updated in a while and it looks like it could be much better.

Simon

redway3d
06-29-2006, 03:12 PM
We are finalizing the SDK for Redviewer, and it includes an integration sample with Maya, but to make it complete for a given production, it'll need a SDK development effort.

Carina
06-29-2006, 03:55 PM
With regards to realtime caustics, Jens Kruger presented a paper called
Interactive Screen-Space Accurate Photon Tracing on GPUs at EGSR 2006 yesterday. Now, it's not quite my area of expertise as I'm not particularly involved in real-time stuff, so it might not be what you're looking for. But he was running a demo of his technique in realtime on a consumer level pc using a geforce 7900, and the results were pretty impressive I thought. He also believed it would easily extend to other areas than caustics.

Pixelclown
06-29-2006, 05:26 PM
Maybe you have a look on this: http://www.vidimce.org/publications/lpics/

:applause:

stew
06-29-2006, 11:13 PM
Thinking about the specific problems you mention:

Water on three levels: Maybe you could even get away with one pass for the reflections and just map them slightly different. There are examples in the nVidia SDK how to make reflection maps respond to the position of the reflective object.

Volumetric wool, and not to forget the Jackaloupe's fur (the gophers have fur too): Probably no way to reasonably render this out as full geometry. For closer shots, you'd probably have to use transparency mapped quads with fur patterns, further away you could use an approximating shader (there's a paper out somewhere describing the fur shader used for 101 Dalmatians).

Caustics: Fake them. I wouldn't even count on the original Boudnin' having them simulated. Shouldn't be too hard to get procedural patterns that look close enough.

Implementing a Reyes pipeline would be overkill, I think. You could just store the meshes in different detail levels and use the appropriate resolution depending on its position and sharpness (motion blurred objects could use simpler geometry).

SquishMe
06-30-2006, 02:02 AM
Thinking about the specific problems you mention:

Water on three levels: Maybe you could even get away with one pass for the reflections and just map them slightly different. There are examples in the nVidia SDK how to make reflection maps respond to the position of the reflective object.

Volumetric wool, and not to forget the Jackaloupe's fur (the gophers have fur too): Probably no way to reasonably render this out as full geometry. For closer shots, you'd probably have to use transparency mapped quads with fur patterns, further away you could use an approximating shader (there's a paper out somewhere describing the fur shader used for 101 Dalmatians).

Caustics: Fake them. I wouldn't even count on the original Boudnin' having them simulated. Shouldn't be too hard to get procedural patterns that look close enough.

Implementing a Reyes pipeline would be overkill, I think. You could just store the meshes in different detail levels and use the appropriate resolution depending on its position and sharpness (motion blurred objects could use simpler geometry).

Reflection + refraction: In my previous post there was link to using distance imposters. Might be a good line of research.
Wool + fur: Fins and shells. No problem...maybe :applause:
Caustics: yeah, fake fake baby! Projection mapping of a looping movie.
LOD: Curved surfaces with level of detail are no big deal these days. Especially with DirectX10 or 7 PS3 SPUs ;)

stew
06-30-2006, 06:43 AM
LOD: Curved surfaces with level of detail are no big deal these days. Especially with DirectX10 or 7 PS3 SPUs ;)
Spoiled brat! I'm still living in a DX9/SM2.0 world ;)

rendermaniac
06-30-2006, 09:56 AM
Maybe you have a look on this: http://www.vidimce.org/publications/lpics/

:applause:

lpics isn't really real time. They render a bunch of frames as buffers. This means that you can change the lighting, but you can't move the camera around like you would in OpenGL.

Also this approach suffers horribly when you have lots of transparency, volumetric effects, or very thin surfaces. You get all three with fur!

Simon

djwarder
06-30-2006, 01:11 PM
Hmm, what's the deal with lpics? Isn't this what they have already done with 'Irma' in their existing tools?

As for interactive RMan, didn't Sony do something like this once on their GScube system?

djwarder
06-30-2006, 01:25 PM
Oh, found a couple of things ...

- a paper about RMan on the PS2 here : http://www.dctsystems.co.uk/RenderMan/index.html
(or this directly : http://www.dctsystems.co.uk/Text/adam.pdf)

- http://www.gamasutra.com/features/20000804/crespo_pfv.htm - there's a bit of the GSCube here, plus halfway down a comparison on RMan against OpenGL shaders. I've attached the pic from the article showing comparison (RMan top, OpenGL bottom)

djwarder
06-30-2006, 02:11 PM
... further away you could use an approximating shader (there's a paper out somewhere describing the fur shader used for 101 Dalmatians).

Just noticed this and found the paper/link : :thumbsup:

http://www.cs.washington.edu/homes/dgoldman/fakefur/

neuromancer1978
06-30-2006, 08:44 PM
Well when I meant RSL and OpenGL shaders are almost the same, I meant the underlying basic shading model algorithms, not the shaders themselves. Like Phong, Blinn, Lambert... doing complex RSL shaders in real time would be murder. You can do some complexity in OpenGL shaders but for the most part they do not compare to RSL.

But still, the idea of doing this seems like a good challenge. I mean in every game there is some degree of cinematics, some more than others. Get enough people on this and who knows....

Check out the OGRE (http://www.ogre3d.org/) engine, open source with plenty of tools, exporters and a good sized user base.

CGTalk Moderation
06-30-2006, 08:44 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.