5 ms·
It's a good historical anecdote about making progress in computer graphics, but ray tracing is largely an obsolete method, since 'path tracing', the method that
by fizixer 8y ago
It's a good historical anecdote about making progress in computer graphics, but ray tracing is largely an obsolete method, since 'path tracing', the method that stochastically solves the rendering equation by James Kajiya, can do global illumination way more realistically (in principle, it can give true realism). In fact ray tracing cannot do global illuminuation and any ray tracing engine that does that is essentially including a hack on top of its core ray tracer. You can even look at the images shared in the article and see for yourself as to how realistic or unrealistic they look.
Path tracing is not good for 'real-time' computer graphics at the moment, because GPUs need to be still more computationally powerful, though I think 2018 or 2019 is the year we'll have the first computer game based on path tracing. On the other hand, ray tracing is already easily doable in GPUs, since it's computationally less expensive than path tracing, but IMO, no one is interested in it since games either want maximum possible realism, or if they want "cartoonish graphics," they want a certain look, not the look imposed on them by the renderer, and ray tracing cannot give enough control to produce any look the artist has in mind (without massive hacks).
EDIT: I just realized, nVidia is promoting ray-tracing as the future of CG, and everything they're describing are actually qualities/features of path tracing and have nothing to do with ray tracing (except for this historical article). I'm seriously perplexed. Maybe nVidia's marking department thought the word 'ray tracing' is more catchy, and more people know about it, so they should use it everywhere. It's common knowledge in CG research community that ray tracing cannot do global illumination.
EDIT 2: Another possible reason is that if they start mentioning path tracing, people will start asking questions about the difference between ray tracing and path tracing, and sales people don't want to get into that. It's a bit like calling LCD displays thin CRTs out of fear that if they mention LCD, people would start asking about the difference between CRT and LCD.
- deleted 8y ago[deleted]
- valine 8y agoThe thing about path tracing that isn’t mentioned often is that it can take anywhere from 1/60th of second to 16 hours to render a single frame. The images that people associate with path tracers are usually of the 16 hour variety. Just because a game could technically use a path tracer as it’s render engine doesn’t mean it will provide any visual benefit over traditional realtime rendering.
- fizixer 8y agoTwo points: - What you said is true of any rendering method you use. If you have a complex scene, it'll take more time to render one frame. - What I said about 2018 or 2019 is what nVidia's promotion is all about. See the demos linked at the bottom of my comment. They keep calling it 'real-time ray tracing' but it's really 'real-time path tracing'. And it's already happening. [1] https://www.youtube.com/watch?v=Vdnwrt3Xdak https://www.youtube.com/watch?v=Vdnwrt3Xdak [2] https://www.youtube.com/watch?v=tjf-1BxpR9c https://www.youtube.com/watch?v=tjf-1BxpR9c [3] https://www.youtube.com/watch?v=jkhBlmKtEAk https://www.youtube.com/watch?v=jkhBlmKtEAk
- valine 8y agoI don’t think that’s realtime path tracing. It looks to me like they’re doing ray traced reflections and shadows and combining that with light probe global illumination. It’s cool, but not revolutionary.
- gt_ 8y agoThese samples just don’t look that impressive to me. It looks like they are just milking some tweaks in each one. [1] Looks really good but only one light source and barely even a bounce of light. Nice backlight halo, but that’s not ray-tracing. [2] Obviously a lot going on here and some progress of some sort but if only all the reflections weren’t so blurry. What’s up with that? [3] 99% of what makes this scene look good is the PBR texture tuning. This lighting does not look good and nothing is moving. Very few reflections and small but they do look proper.
- ummonk 8y agoWhat specifically makes path tracing not a special case of ray tracing? To me, ray tracing is anything that traces rays (unlike the typical rasterization using z-buffering), and path tracing is just a poorly-named high fidelity method of using ray tracing...
- pgrad 8y agohttps://www.quora.com/Whats-the-difference-between-ray-tracing-and-path-tracing https://www.quora.com/Whats-the-difference-between-ray-traci...
- drb91 8y agoThat doesn’t seem to answer the question.
- gt_ 8y agoRight. The internet certainly has no shortage of folks willing to answer this question, but the answers almost always imply the difference is merely rhetorical or something like a matter of opinion. Same thing with ‘biased’ vs ‘unbiased’ rendering, but that one is much less surprising.
- pgrad 8y agoTrue, it doesn't. I didn't read the question carefully enough. Path-tracing is indeed a more sophisticated form of ray-tracing. In a path-tracing engine you'll still be calculating intersections to surfaces by ray-casting, ray-marching etc. As the wikipedia page for ray-tracing states, "ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects". The range of complexity possible in that definition was already discussed in the above Quora article.
- drb91 8y agoYes. I wish there were more casual acceptance for “ray tracing” as essentially light computation via ray intersections, rather than the assumption that it means “naive ray tracing” or “direct lighting ray tracing”.
- nhaehnle 8y agoThere are certain aspects of light which the rendering equation doesn't model, so it's insufficient for true realism (the Limitations sections of the Wikipedia page is a good summary). It's pretty damn close, though. I feel that the "ray tracing" vs. "path tracing" question is nit-picking for a very specialized audience at best. Most people simply understand ray tracing as being about tracing rays through geometry in some way (so both ray casting and path tracing are a form of using ray tracing). How you combine this tracing to give you pixel values is a higher-level question. If you look at ray-tracing frameworks / APIs like Optix or DXR, it's clear that this combination of tracing is left up to the programmer (for good reasons). What's important for the API to expose is the primitive operation of tracing a single ray, after all.
- elihu 8y ago> It's a good historical anecdote about making progress in computer graphics, but ray tracing is largely an obsolete method, A ray tracer and a path tracer are very similar and are based on the same foundation of ray-object intersection tests, render the same kinds of geometry, and use the same kinds of acceleration structures. Lighting and textures are a little different, and the process of tracing a ray into the scene is a little different, but a ray tracer is really just a simplified path tracer. Calling it an obsolete method seems strange, since about 90% of the code in a typical ray tracer could be re-used directly to make a path tracer, and a person setting out to create a path tracer in 2018 would probably start by making a ray tracer and then enabling path tracing once they've verified that ray tracing is working. Path tracing is more like a feature you enable than a completely different method.
- dahart 8y agoPath tracing doesn't exist without ray tracing. Tracing a ray is one part of tracing a path, because a path is a connected chain of ray segments. "Whitted ray tracing" or "recursive ray tracing" are sometimes used to refer to a complete renderer or complete shading technique used in the 80s that is not global illumination. That sounds like what you're thinking of. But that's not today's meaning of ray tracing. "Ray tracing" can (and these days normally does) refer to a visibility primitive that is used in many different kinds of renderers, and that's what NVIDIA is promoting, that's what graphics people mean by "ray tracing" these days. > ray tracing is largely an obsolete method Recursive ray tracing as a rendering technique might be out of fashion, but tracing rays is far from obsolete. Exactly the opposite, it's about to challenge rasterization. > In fact ray tracing cannot do global illuminuation and any ray tracing engine that does that is essentially including a hack on top of its core ray tracer. Not true at all. Path tracing is done using a ray tracing engine. There are several other popular techniques for GI on top of ray tracing engines as well, e.g., photon mapping. There aren't many GI renderers that don't use ray tracing these days. It's possible to avoid ray tracing, but not at all common in practice. > I just realized, nVidia is promoting ray-tracing as the future of CG, and everything they're describing are actually qualities/features of path tracing and have nothing to do with ray tracing (except for this historical article). I'm seriously perplexed. I think you're perplexed because you don't quite understand what "ray tracing" means. NVIDIA is promoting ray tracing as a visibility primitive that can replace rasterization. The implications of this are that 1) path tracing and other forms of global illumination using the GPU are now possible, 2) visibility queries & acceleration structures will have GPU support and can be done very fast. 3) We get things like instancing at a much lower cost than with rasterization. 4) Lots of ad-hoc special effects can be done in a simpler and more principled and complete way. I'm referring to, for example, screen space effects that games are using. AO, reflections, bounce lighting, shadows, etc. All these techniques are tricky and separate from each other. With ray tracing they can be unified. 5) Ray tracing queries can be used in games for all kinds of other things including collision detection, path planning, and audio.