3 ms·
Can someone please explain the differences between real-time renderers and offline renderers? Do real-time renderers optimize frame by frame and focus on retain
by boywitharupee 4y ago
Can someone please explain the differences between real-time renderers and offline renderers? Do real-time renderers optimize frame by frame and focus on retaining some quality while prioritizing performance, using techniques like LOD and occlusion? Do offline renderers focus solely on quality? Are scene descriptions for both types of renderers different? What are the standard description files in games versus movies?
- Arrath 4y agoWhile I'm not terribly familiar with the subject myself: Note that figure 2 in TFA calls out Astrid's character model as consisting of "1.67GB of geometry and 11.1GB of textures". That's stupidly massive compared to asset sizes for e.g. video game character models and texturing, and would probably choke a commercial real-time engine all on its own.
- ur-whale 4y agoReal time renderers focus on being real time as the most important constraint and therefore make lots of compromises and take a lot of shortcuts. Offline renderers try to simulate light transport as exactly as possible within a time budget. For example, one of the best algorithm to create high quality renders of scenes with very complicated light transport problems (something like this: [1]) uses ray-tracing monte-carlo integration techniques. Up until very recently, this was completely out of reach for a real time render. [1] https://blenderartists.org/uploads/default/original/4X/9/f/c/9fc01ed0e919d34be367328a28d8d9e58ead24a8.jpg https://blenderartists.org/uploads/default/original/4X/9/f/c...
- delta_p_delta_x 4y agoLike someone else said, real-time renders need to output at a reasonable frame-rate, which is the top priority. Therefore, per-frame image quality can take a fairly severe hit before things start being noticeable. For the record, most real-time renderers are rasterisation-based, where geometry is assembled, rasterised, and then the fragments shaded. This is what almost all video games have been running on since the 1990s. Many so-called 'RTX' games you see today still do the bulk of their rendering using rasterisation and all the associated hacks to achieve photorealism, and only enable path-tracing for specular reflection, soft shadows, and diffuse-diffuse global illumination. A high-quality real-time path-traced pipeline was impossible to achieve in playable framerates until very recently (~5 years ago). This is because we simply didn't have the hardware to do it, and denoising algorithms weren't very powerful until we got generative AI algorithms (OptiX, DLSS, etc). Even today, any real-time path-traced pipeline renders much fewer samples than any offline render does—usually 3 or 4 orders of magnitude less—simply because it would be too slow and a waste to render so many samples for a frame that would be displayed for several milliseconds and then promptly discarded. Offline renderers do jack the quality up, and they use massive render-farms with hundreds of thousands of cores, with memory on the order of 10^14-10^15 bytes. The scales are completely off the charts; a single frame using an off-line renderer can take up to several hours to render on an average home computer.