3 ms·
> Considering between then and now, we have much prettier looking games that do NOT require ray tracing for their visual effects (and can run on much fewer CPU
by dahart 4y ago
> Considering between then and now, we have much prettier looking games that do NOT require ray tracing for their visual effects (and can run on much fewer CPU cycles), thanks to much more "clever" techniques and algorithms (DoF, bloom, subsurface scattering, PBR, etc), and if it weren't for the RTX graphics cards setting the precedent, there would probably be more research into making things prettier without having to "brute force" things.
Despite being a graphics researcher, I’ve been a little skeptical in the past about ray tracing in games. Recently I’ve started hearing for the first time from some hard-core gamers that turning on ray tracing makes a “massive” difference in the quality of the experience, and that they’ll use it as long as the frame rate can stay above 30 fps most of the time.
That said, with all due respect, your speculation about clever non-ray tracing techniques seems a little off-target from my perspective. There has been, and still is, a huge amount of research into these, and the entire field of techniques is hitting limits and failing to progress as fast as ray tracing. There are multiple reasons for this. One problem is that many of these one-off raster effects require their own memory & compute. Another is that they each require their own implementation, each require their own tuning, they impose constraints on the art and the artists, and they only work in narrow ranges of curated input. Shadow maps are a good example - needs a buffer of it’s own, and get too close or too far away from the shadows, or if the scene is too big, and they look terrible. You have to spend precious art+dev time just to make them work, you have to spend precious memory for this one effect, it eats into your rendering budget, it only takes care of the shadows, it’s quality has a hard ceiling limit, and you still have 13 other effects to work on that have the same story. With ray tracing, once you setup the memory for it, it can render all the effects at the same time, it’s the unified theory of rendering, and doesn’t require per-effect memory or much per-effect tuning, not like the grab bag of raster and screen-space effects does. Ray tracing has it’s downsides, and it’s certainly cycle-hungry, but there is a good reason that game devs are gravitating toward using ray tracing, it’s because ray tracing is fundamentally easier and fundamentally looks better than the one-off raster effects.
Regarding ray tracing being ‘brute force’, keep in mind that if you’re rendering many instances, or have lots more geometry than pixels visible to the camera, ray tracing can be more efficient than raster. Is usually isn’t in today’s games, because games have hard budgets that limit the amount of geometry - mostly due to raster algorithms! - but the trend of increasing geometric complexity is clear, and that ray tracing is the likely path forward. Nanite is very interesting and has made waves - it’s being adopted and used for the same reason that use of ray tracing is growing, primarily because it makes game development easier. Maybe we’ll see these two things merge in the future, they are not mutually exclusive. Nanite is carefully designed to make sure you’re always rendering polygons that are about 1 pixel in size, plus or minus, and Nanite has pushed scene complexity, but there are certainly open questions about whether this approach will continue to work as complexity grows.