4 ms·
It is coming.
by danieltillett 9y ago
It is coming.
- Cthulhu_ 9y agoEhhh. I don't think modern computers could even render Toy Story still, maybe an approximation but that's what realtime graphics are about - using tricks to make approximations, to make things look "good enough". Non-realtime graphics feel easier in some ways because you can use e.g. raycasting to get "free" realistic reflections and lighting and whatnot. Then you can focus more on what makes a material look the way it does, like they do in this article.
- crummy 9y agoYou're probably right: https://www.quora.com/How-much-faster-would-it-be-to-render-Toy-Story-in-2011-compared-to-how-long-it-took-in-1995 https://www.quora.com/How-much-faster-would-it-be-to-render-... Going by the vague dates in the article it's probably ~1 min per frame rendering Toy Story today.
- AboutTheWhisles 9y agoI think the original Toy Story could be done in real time with modern graphics cards. The Quora answer below was talking about CPUs in 2011, and it seems that plenty of added time (relatively speaking) was due to network and disk infrastructure not having the same 1000x speedup. A more subtle aspect to consider is that CPUs might have increased in raw computation by huge orders of magnitude, but memory latency means that the same programs from 20 years ago will run much faster, but not at the same multiple of the raw flops. This implies that to get the full effect of a cpu or gpu, the software would have to be rearchitected to an extent to get the full benefit of modern hardware. Toy Story didn't use any ray tracing, Renderman at the time was reliant on shadow maps. Because of the lack of global access to the scene from shaders, the local illumination Reyes architecture should map extremely well to GPUs. I think it is possible that someone will do similar things with Vulkan or openGL compute buffers if they haven't already.
- dahart 9y agoFor raw compute cycles, I think you're right, but... The one place where today's GPUs aren't as good as Toy Story is filtering & anti-aliasing. The texture filtering and pixel (camera) filtering in software renderers is much higher quality and more expensive than GPUs can (typically) do still. You could roll your own high quality texture sampling in CUDA or OpenCL, but the texture sampling that comes with GPUs is not great compared to what Renderman does. BTW, textures & texture sampling are a huge portion of the cost of the runtime on render farms. They comprise the majority of the data needed to render a frame. The entire architecture of a render farm is built around texture caching. Just getting textures into a GPU would also pose a significant speed problem.
- AboutTheWhisles 9y ago> The one place where today's GPUs aren't as good as Toy Story is filtering & anti-aliasing This only makes sense if you are locked in to some texture filtering algorithm already, which isn't true. CPU renderers aren't doing anything with their texture filtering that can't be replicated on GPUs. Where the line should be drawn by using the GPUs native texture filtering and doing more thorough software filtering would be something to explore, but there is no reason why a single texture sample in the terms of a software renderer has to map to a single texture sample on the GPU. > BTW, textures & texture sampling are a huge portion of the cost of the runtime on render farms. They comprise the majority of the data needed to render a frame. I'm acutely aware of how much does or does not go into textures. Modern shaders can account for as much as half of rendering time, with tracing of rays accounting for the other half. This is the entire shader, not just textures and is an extreme example. > The entire architecture of a render farm is built around texture caching. This is not true at all. Render farm nodes are typically built with memory to CPU core ratios that match as the main priority. > Just getting textures into a GPU would also pose a significant speed problem. This is also not true. In 1995 an Onyx with a maximum of 32 _Sockets_ had a maximum of 2GB of memory. The bandwidth to PCIe 3.0 16x is about 16GB/s and plenty of cards already have 16GB of memory. The textures would also stay in memory for multiple frames, since most textures are not animated.
- 9y ago
- jsheard 9y agoKingdom Hearts 3 features an area based on Toy Story, so we can actually draw a direct comparison between the original movie and modern real-time rendering. Digital Foundry compared them here: https://www.youtube.com/watch?v=tkDadVrBr1Y https://www.youtube.com/watch?v=tkDadVrBr1Y