7 ms·
Ray Tracing Denoising
- rbkillea 7y agoShirley published a paper in 1991 showing that low discrepancy samplers worked well in a ray-tracing context. So I wouldn't say that's particularly new.
- BubRoss 7y agoI'm not sure what exactly you are responding to, but low discrepancy samples is not at all what this page is about. There have been a lot of papers on many different techniques with various upsides and drawbacks when it comes to reducing noise. Comparing this overview to one of the most basic techniques that is used everywhere and is a given is like reading an article on a modern car engine and dismissing it because you saw someone light some gas on fire 30 years ago.
- rbkillea 7y agoI'm sorry you took such offence to my comment. I guess I should have quoted the statement that I was replying to within the overview section: "Recently, the use of low discrepancy sampling [Jarosz et al. 2019] and tillable blue noise [Benyoub 2019] has been used by Unity Technologies, Marmoset Toolbag and NVIDIA in real time ray tracers."
- BubRoss 7y agoThose papers are about specific low discrepancy sampling patterns, their ease of use, their speed, their flexibility and the scalability of their properties into higher dimensions. Papers written by knowledgeable researchers in 2019 were not used in all the things you listed. I understand you know what low discrepancy samples are, but equating the very first demonstration that random sampling wasn't ideal for day tracing, to the state of the art that has evolved over three decades of research is ludicrous. I don't know why you are desperate to be dismissive but it has no basis whatsoever in reality.
- rbkillea 7y agoThe paragraph was a chronological account of when techniques were introduced with accompanying citations. The 1998 paper in the preceding sentence would lead the reader to believe that low discrepancy sampling came after the robust sampling methods (and potentially even that low discrepancy sampling was a new technique). Both have had further work that continues to this day, and both are much more complex and well-understood today. > desperate to be dismissive How is clarifying what I was commenting on "desperate"? I feel like you're trying to escalate here.
- rrss 7y agowhoa, calm down. The post makes it sound like low-discrepancy sampling is a recent development, and 'rbkillea is pointing out that it is 30 years old. That's it, no need to attribute malice anywhere. I think you are reading way too much into 'rbkillea's comments.
- BubRoss 7y agoThere is nothing about low discrepancy sampling being a recent development. This article is about recent research and suggesting anyone involved would imply that one of the most trivial aspects of rendering is somehow new is total nonsense. There is a recent paper about generalizing n-rooks sampling to higher dimensions which seems to have been misunderstood by yourself and others. It was written by researchers who already have dozens of high profile papers on many different topics.
- vokep 7y agoCan't wait until ray tracing is more mainstream. I know NVIDIA has their share of uncool things but I really appreciate them making the RTX series, hopefully we'll see more and more of this.
- OCASM 7y agoWith AMD bringing ray tracing next year to consoles and desktop we won't have to wait long.
- affyboi 7y agoAw this didn't mention orthogonal array sampling, another sampling technique aimed specifically at ensuring good distribution in higher dimensions: https://cs.dartmouth.edu/~wjarosz/publications/jarosz19orthogonal.html https://cs.dartmouth.edu/~wjarosz/publications/jarosz19ortho...
- jonas21 7y agoIt's only briefly mentioned, but NVIDIA's recurrent denoising autoencoder is pretty amazing. https://research.nvidia.com/publication/interactive-reconstruction-monte-carlo-image-sequences-using-recurrent-denoising https://research.nvidia.com/publication/interactive-reconstr... Two Minute Papers did a nice explanation of it: https://www.youtube.com/watch?v=YjjTPV2pXY0 https://www.youtube.com/watch?v=YjjTPV2pXY0
- pastrami_panda 7y agoYes it's very nice. I think they went a bit too far with their deep learning anti aliasing solution DLSS though. Read somewhere here that AMD potentially had an algorithm that surpassed it in many metrics using no ML. Seems like that thing about holding a hammer for too long so everything starts looking like nails.
- greendesk 7y ago‘Potentially had an algorithm’ - if it is a potential algorithm, this implies it had not been sufficiently performant to work in practice, though.
- pastrami_panda 7y agoBad wording on my part, it's definitely in use. I dug up the context, it's discussed in the second top-level comment here: https://news.ycombinator.com/item?id=20698721 https://news.ycombinator.com/item?id=20698721
- missosoup 7y agoAlso, DLSS was received rather poorly. The performance impact doesn't justify the increase in perceived quality, and the artifacts when it fails are pretty jarring.
- wruza 7y agoI thought DLSS speeds up the rendering with RT ON.
- elihu 7y agoSo far, what I've read about denoising is always the context of doing image post-processing, but it seems to me that some of these techniques could be used just as well to identify areas of the image that the denoiser is most uncertain about, so that you can trace more rays in those directions.
- cardiffspaceman 7y agoSure if you want to reduce error at some cost, you can use a noise metric to identify where you should send more rays. The premise of denoising is that it's cheaper and you've already spent enough time on the analytical algorithms. Also there is a chance that the noise/variance is due to a high variance feature which (a) would have been fine to leave out and (b) causes a cascade of "noise-driven" ray tracing.
- Erlich_Bachman 7y agoFor a practical demonstration of what denoising can theoretically do I recommend Quake II RTX. There is a dev mode with a bunch of rendering settings, many more so than in an average game. They were added to it because this game is more of a tech demo of RTX at this point. There is a switch where you can turn the denoising of the ray-traced output on/off: it shows tremendous difference, to a point where it's hard to even imagine looking at the noisy image that it is even possible to extract the denoised version.
- stupidcar 7y agoWhat's fascinating to me about this is that it sounds like future renderers may end up working very much like we think the brain does. There is a virtual world, but very little raw data about that world is used directly, just a small sample, and the rest of the image is filled in by a neural model that is able to infer how the whole scene should look based its a priori understanding of how things like light and depth work.
- gnode 7y agoSomething I've wondered is whether technology like this could eventually be self-defeating for hardware manufacturers. Rather than the evolution of graphics deriving from improved accuracy of the optical simulation fuelled by advances in computational power, it may instead derive from optimising subjective video quality, similarly to video codecs. While accurately simulating optics is needfully computationally expensive and gives special-purpose graphics hardware an advantage, it's not clear that psychologically subjective high quality graphics (i.e. generating visuals which are inaccurate but convincing to humans) has such a need.
- Mirioron 7y agoI think it's a question of complexity. The idea of ray tracing is actually really simple compared to modern day rasterized graphics.
- gruez 7y ago>While accurately simulating optics is needfully computationally expensive and gives special-purpose graphics hardware an advantage, it's not clear that psychologically subjective high quality graphics (i.e. generating visuals which are inaccurate but convincing to humans) has such a need. What you're describing is rasterization, which is what the industry standard is (at least for games) for decades.
- gnode 7y agoTechniques used to create realism with rasterization (e.g. normal mapping; shadow mapping; screen-space anti-aliasing) are still simulations of optics, just not entirely faithful ones. Generating visuals with an autoencoder, albeit hinted by noisy physically-based raytracing, is not an optical technique; detail is generated from a visual statistical model, not an optical simulation.
- magicalist 7y ago> noisy physically-based raytracing...detail generated from a visual statistical model That is an optical simulation :)
- criddell 7y agoAt one time, writing a ray tracer was a right of passage when getting into computer graphics. I never did it, but this week I was trying to figure out how to find the intersection point of a ray and an oblique cone and all of the resources I found were related to ray tracers. I'm thinking that maybe I should actually write a ray tracer. Is that still a worthwhile thing to do, or has the world moved on? FWIW, I never solved the ray-oblique cone problem...
- pfortuny 7y agoIt cannot be that difficult, mail me the question and I should be able to help you. See my profile.
- m12k 7y agoI've heard good things about 'Ray Tracing in One Weekend' https://raytracing.github.io/ https://raytracing.github.io/
- joefourier 7y agoFor a more modern twist on it I’d suggest writing a path tracer (bonus points if done on on the GPU). It’s not really any more difficult than an old-fashioned ray tracer but the results are much more graphically impressive.
- dahart 7y agoStill worthwhile in my opinion! But full disclosure, I happen to be working on ray tracing problems. Writing them is still really fun, it’s no less useful today for learning things than it was 20 years ago. You can get amazing pictures with not very much code, and the algorithms are really satisfying to understand & implement. There are also still tons of low hanging fruit. You’d think the easy problems would be mined out by now, but they’re not. New developments are actively happening with intersection primitives, color handling, sampling, direct lighting, shadowing, the list goes on. If you want to do research, you don’t have to dive that deep to find something unsolved that is solveable. For an oblique cone intersection, I don’t know the right answer, but the oblique cone is a skew transform of a regular cone, right? You might be able to use a regular cone intersector, but pre-transform the ray by the inverse skew transform? This resource is fantastic for finding intersection building blocks and code examples: http://www.realtimerendering.com/intersections.html http://www.realtimerendering.com/intersections.html
- pavlov 7y agoGreat post but disappointingly few images. It would have been really interesting to see these techniques applied on a standard scene with before/after comparisons.