Live data from Hacker News

Pixar's Chris Horne Sheds New Light on Monsters University

thisanimatedlife.blogspot.com

71–80 of 123 posts

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#71
post #31

For a bit of background: The article talks a lot about global illumination. Here's what that means. First, you have to understand the cheaper alternative, which is called local illumination. With local illumination, for each pixel, you figure out what object you're looking at, and where on that object. You take into account the normal (direction of the surface at that point) and the optical properties of the object a…

I'm still learning on this subject, but I find local and global illumination easier to grasp when using the term direct and indirect illumination.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#73
post #63

I was wondering what Toy Story would look like if they re-rendered it with today's technology. Well, it turns out they already did! It was part of the theatrical re-releases of Toy Story and Toy Story 2 in 3D. http://www.bigscreenanimation.com/2008/09/toy-story-re-relea... Were these re-rendered versions released in 2D on Blu-ray?

I wonder if you really see a difference.

You won't see it but for sure you will perceive it ! ;)

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#74
post #31

For a bit of background: The article talks a lot about global illumination. Here's what that means. First, you have to understand the cheaper alternative, which is called local illumination. With local illumination, for each pixel, you figure out what object you're looking at, and where on that object. You take into account the normal (direction of the surface at that point) and the optical properties of the object a…

In any case, running global illumination often causes a major increase in rendering time. So it's understandable that Pixar, which has to render a huge number of frames at huge resolutions, did not traditionally use it much.

There's also another factor at play, which is directability. Physical correctness is not usually a priority except as far as it advances the artistic goals of the people making the movie. If the director says, "can you make the right side of that table look less red?", you need to have some way for the artist to achieve that goal, even if that's not how the scene would "really" look. I expect that the development of new tools and processes to allow precise manipulation of the lighting in globally illuminated scenes was just as much, if not more, of a barrier than the additional cost in rendering time.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#75
post #64

Earlier quoted context omitted.

Yep! Rendering is very parallelizable, thank goodness. And at more than one level: You can assign different regions of a single frame to different processors, and you can also assign different frames to different processors. It's one of those special computing problems that really can be solved by throwing more silicon at it. Which is a real blessing, considering how unworkably slow it would be otherwise.

I understand how you would break up an individual frame if you are using the 'local illumination' described in the ancestor post, but if the 'global illumination' has interactions across the entire frame, how is that compatible with parallel processing? It sounds a bit like the n-body problem, which has parallel approximation algorithms, but nothing terribly straightforward.

I'm not an expert on how the GI algorithms are parallelized. First, it's worth noting there are a lot of them, so the strategy probably varies. But here's a guess for a popular one known as photon mapping. With that technique, you bounce around virtual photons, and they contribute to the lighting of each point they hit (to simplify a bit). AFAIK, each photon's path is only a function of the light source, the scene geometry, and the scene materials. I.e. it's not a function of what other photons are doing. So I think you can parallelize individual photons bouncing around. As a final step, you have to fold all the light contributions together, which I believe could in turn be parallelized per polygon.

But I'm just guessing about all this.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#76
post #64

Earlier quoted context omitted.

Yep! Rendering is very parallelizable, thank goodness. And at more than one level: You can assign different regions of a single frame to different processors, and you can also assign different frames to different processors. It's one of those special computing problems that really can be solved by throwing more silicon at it. Which is a real blessing, considering how unworkably slow it would be otherwise.

I understand how you would break up an individual frame if you are using the 'local illumination' described in the ancestor post, but if the 'global illumination' has interactions across the entire frame, how is that compatible with parallel processing? It sounds a bit like the n-body problem, which has parallel approximation algorithms, but nothing terribly straightforward.

Generally you're using some kind of sampling algorithm to randomly sample from the light distribution in the scene, so it's easy to calculate N different images of the same scene, and then average them together. If it's not the whole image that's sampled at once, then you can still parallelize the sampling step.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#77
post #19
post #6

From what I gathered from John Carmack, ray tracing is done much more efficiently with voxels than with triangles, so hopefully this will push game engine companies to incorporate voxels sooner into their engines, too.

They're already on it. The Unreal 4 engine will use voxel cone tracing: http://www.unrealengine.com/files/misc/The_Technology_Behind...

An invisible voxelized-representation of polygonal scene geometry is used there for approximating global illumination of visibly rendered polygonal geometry.

Hence, it's not a realtime "voxel engine" as far as visual rendering goes.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#78
post #61

Earlier quoted context omitted.

They explain the extent to which they used to use raytracing in the article - is it misrepresented? It's in a direct quote so I doubt it.

Yes, because the article (and the person in it) doesn't seem to understand the difference between path tracing (ray tracing with global illumination - multiple bounces even with diffuse surfaces), and ray tracing = sending rays around a scene and bouncing them off specular reflective/refractive surfaces - which Pixar have been doing for years. It's been possible to write raytraced shaders in PRMan for over 12 years n…

Cars was in production about 10-12 years ago. Maybe you're thinking Cars 2?

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#79

sigh WHY has he locked the font size down on his blog such that CMD + and - only change the text area width and image sizes?

It works just fine in Chrome and Firefox here. Are you perhaps using an old and/or awful browser? He's using a px unit on his font size, but Firefox and Chrome have done full-page scaling for ages now.

Re: Pixar's Chris Horne Sheds New Light on Monsters University

#80
post #64

Earlier quoted context omitted.

Yep! Rendering is very parallelizable, thank goodness. And at more than one level: You can assign different regions of a single frame to different processors, and you can also assign different frames to different processors. It's one of those special computing problems that really can be solved by throwing more silicon at it. Which is a real blessing, considering how unworkably slow it would be otherwise.

I understand how you would break up an individual frame if you are using the 'local illumination' described in the ancestor post, but if the 'global illumination' has interactions across the entire frame, how is that compatible with parallel processing? It sounds a bit like the n-body problem, which has parallel approximation algorithms, but nothing terribly straightforward.

In global illumination there are lighting interactions between objects in the scene, but not between pixels. Each pixel is independent of the others, and so can (in theory) be processed in parallel.

In another way of thinking about it, raytracing simulates photons. Photons don't interact with each other, so the problem of simulating photons is massively parallel.

Post reply on HN