4 ms·
Direct X Raytracing: Further Unification
- kevingadd 9y agoRelated and worth reading: http://aras-p.info/blog/2018/03/21/Random-Thoughts-on-Raytracing/ http://aras-p.info/blog/2018/03/21/Random-Thoughts-on-Raytra...
- petermcneeley 9y agoAs mentioned in this the linked article LODing is a big unknown. However the there are three aspects to the API that can be regarded as aiding LOD tracing. First trace maximum distances can be specified. Second miss shaders (those rays exceeding maximums) can generate more rays. And finally intersection shaders can be provided for non-polygonal LOD techniques (Voxels).
- fyi1183 9y agoThe black box criticism is fair but to be expected. Early 3D APIs were black boxes, but that had the advantage of allowing IHVs to experiment with different implementations behind the scenes. Now that things have largely settled down, moving to explicit APIs like Vulkan makes sense. With hardware acceleration for ray tracing we're only just at the beginning of the development, so having fairly black box APIs makes sense again. Expect that to change eventually once the industry has settled on answers to many of the currently open questions, but it might take a while.
- billconan 9y agocan this raytracing pipeline be mixed with rasterization pipeline?
- petermcneeley 9y agoYes. In fact the starting point for the raytracing is the data resulting from rasterizing normal camera view. This technique will allow the expensive raytracing to be used sparingly.
- a_e_k 9y agoWhat's amusing to me is how closely this resembles the path that some of us went down in film rendering. If that history is any guide, the hybrid approach here is likely to be a short-lived stop-gap before moving on to full ray tracing for everything. It quickly becomes annoying have to maintain the code paths and the data structures for both rasterization and ray tracing. You have to keep the two carefully in sync (e.g., tessellating to the same level, using the same LoD levels, displacements the same) or you'll get weird artifacts. Even then, numeric precision can still bite you; surface acne and ray trace bias issues are worse than usual when the launch points for your rays are computed by an entirely different rendering technique. Things get a lot easier when you have just the one codepath and set of data structures. Not to mention that ray tracing for primary visibility tends to be fairly cheap since that's when the rays are the most coherent. A lot of the ray tracing research back in the aughts dealt with efficient acceleration structure traversal and intersection for tightly coherent bundles of rays. People have been ray casting for a long time. I think the bigger deal is that it's only in the past decade where we finally have enough compute power to really start to handle the less coherent secondary rays at real-time rates.
- petermcneeley 9y agoThe trend is definitely set. However even AAA gaming is more accepting of minor artifacts over any dips in framerate below 30fps. We might see biased non-rasterized realtime rendering before we the type of unbiased rendering of offline happening in games.
- gmueckl 9y agoPath tracing a really complex static scene in realtime has become quite feasible recently, especially with all these fancy temporal denoising filters that basically turn purse noise into surprisingly high quality images in no time. The catch is the word "static". Dynamic scenes suffer from the overhead of building acceleration structures. You can hack something together if you have a tiny bit of dynamic geometry in an otherwise static scene or your animation is just moving static objects around. But a raytraced animated human face in realtime is something that we likely won't see for a while still.
- sp332 9y agoFrom an earlier blog post https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/ https://blogs.msdn.microsoft.com/directx/2018/03/19/announci... DXR will initially be used to supplement current rendering techniques such as screen space reflections, for example, to fill in data from geometry that’s either occluded or off-screen. This will lead to a material increase in visual quality for these effects in the near future. Over the next several years, however, we expect an increase in utilization of DXR for techniques that are simply impractical for rasterization, such as true global illumination.
- a_t48 9y agoYup! AMD did a presentation on doing exactly this at GDC this morning.
- corysama 9y agoMeanwhile, on the Vulkan side: https://gpuopen.com/announcing-real-time-ray-tracing/ https://gpuopen.com/announcing-real-time-ray-tracing/ https://www.youtube.com/watch?v=C9eMciZGN4I https://www.youtube.com/watch?v=C9eMciZGN4I
- shmerl 9y ago> Access to real-time ray-tracing will be made available to AMD partners by contacting your AMD representative. How does that combine with: > Like many of the other open source tools available from GPUOpen, real-time ray tracing will give users more control over the development process unlocking even more performance from your GPU. Or they mean access before official release?
- pjmlp 9y agoWhich is only supported on AMD cards. Given that NVidia has their own API (RTX) , which will be part of Gameworks [0], is collaborating with Microsoft, and is currently requesting papers for Ray Tracing Gems[1], I don't see them bothering with Vulkan support. [0] - https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/ https://blogs.nvidia.com/blog/2018/03/19/whats-difference-be... [1] - https://news.developer.nvidia.com/call-for-papers-real-time-ray-tracing/ https://news.developer.nvidia.com/call-for-papers-real-time-...
- corysama 9y agoHmm... The video claims that it is open source and supports non-AMD hardware. https://www.youtube.com/watch?v=C9eMciZGN4I&t=1m7s https://www.youtube.com/watch?v=C9eMciZGN4I&t=1m7s
- sclangdon 9y agoThe rasterized image they have on that announcement looks like it was rendered with OpenGL 1.2 or something. In reality, today's rasterized image would look almost identical to their raytraced image.