11 ms·
Real-Time Ray Tracing Demo
- electricslpnsld 8y ago> However, for live-action film and architectural visualization projects where photorealism is valued over performance, ray tracing gives an extra level of fidelity that is difficult, if not impossible, to achieve with rasterization. Don't essentially all modern production renderers use path tracing? Mental Ray was the last 'major' renderer I know of that used ray tracing, and it was discontinued a few years back.
- skykooler 8y agoWhat is the difference between path tracing and ray tracing?
- electricslpnsld 8y agoRoughly speaking, ray tracing shoots rays from the camera frustum, bounces them off geometry, and sees what lights they hit. Path tracing is Monte Carlo integration of the rendering equation. [0] It is easier to get soft shadows and global-illumantion-like effects with a path tracer. I remember reading articles circa 2013/2014 about Pixar moving to a path-tracer, which significantly reduced the amount of time they had to spend manually tuning lights and hacking in shadow effects, etc. [0] https://www.quora.com/Whats-the-difference-between-ray-tracing-and-path-tracing https://www.quora.com/Whats-the-difference-between-ray-traci...
- vernie 8y agoIt's important to note that Pixar wasn't moving away from a ray tracer, but from a rasterization-based renderer.
- petermcneeley 8y agoThese terms tend to be used interchangeably. In the context of your original quote I think path tracing is the more accurate term. Even Arnold Renderer is described as a raytracer. ( https://en.wikipedia.org/wiki/Arnold_(software) https://en.wikipedia.org/wiki/Arnold_(software) )
- electricslpnsld 8y agoPoking around there does seem to be a fair amount of overloading of the term! Even Arnold's website jumps between using ray tracer [0] and path tracer [1]. [0] https://www.solidangle.com/arnold/ https://www.solidangle.com/arnold/ [1] https://www.solidangle.com/about/ https://www.solidangle.com/about/
- seanalltogether 8y agoI would assume any good path tracer is a good ray tracer as well. If you start with a simple deterministic ray trace you can probably layer on a path tracer that doesn't require as many samples to produce a good image that's fast.
- dahart 8y agoI like to see "path tracing" as a higher level rendering algorithm built on top of ray tracing, and "ray tracing" as a visibility query in a scene using a straight line. Ray tracing is more of a computational primitive that can be used for direct lighting, or for reflections, or for global illumination, or if you want, even for simulating audio. Note that "path tracing" is also overloaded, some people use it to mean any ray tracing that does global illumination, but the term also refers to a stricter definition which is an algorithm that integrates lighting in n-dimensional path space. A path tracer under that latter definition doesn't do any branching along a path, instead it builds complete paths from camera to light to calculate the contribution to a pixel. This is where the name came from.
- shaded-enmity 8y agoThe main differentiator here is that this is able to deliver real-time performance at 24 fps -- not much interesting to current PC gaming standards (I'd trade detail quality for 144fps any day), but I guess that this has a huge potential for next gen console gaming.
- mtgx 8y agoWhy didn't the gaming industry go with path tracing anyway? How much more performance does path tracing need compared to ray tracing, if all else is equal?
- deleted 8y ago[deleted]
- peterchon 8y agoI lost it at the starwars elevator music.
- always_good 8y agoI always chuckled at how imperial armor is so plasticy, and they only doubled down on it since the trilogy. This ray tracing demo just about caricaturizes it.
- bufferoverflow 8y agoSome modern armor is made out of UHMWPE plastic. https://en.wikipedia.org/wiki/Ultra-high-molecular-weight_polyethylene https://en.wikipedia.org/wiki/Ultra-high-molecular-weight_po... Armor tested: https://www.youtube.com/watch?v=UsjOV7tcGRI https://www.youtube.com/watch?v=UsjOV7tcGRI
- mtgx 8y agoWill they support Vulkan/Khronos' alternative, too?
- bitL 8y agoIs there any? I thought RTX is a technology demo by NVidia right now as is DXR...
- monocasa 8y agoThe PowerVR guys have had some path tracing extensions to OpenGL and Vulkan that look really similar to Nvidia's solution.
- corysama 8y agoNvidia: http://on-demand.gputechconf.com/gtc/2018/presentation/s8521-advanced-graphics-extensions-for-vulkan.pdf http://on-demand.gputechconf.com/gtc/2018/presentation/s8521... AMD: https://gpuopen.com/announcing-real-time-ray-tracing/ https://gpuopen.com/announcing-real-time-ray-tracing/ https://gpuopen.com/gdc-2018-presentation-real-time-ray-tracing-techniques-integration-existing-renderers/ https://gpuopen.com/gdc-2018-presentation-real-time-ray-trac...
- ramzyo 8y agoAn anecdotal observation: there seem to be many ray tracing-related articles and ShowHNs that make the front page. For someone who isn't in the computer graphics space, what's the importance of improving existing ray tracers or the novelty in writing one's own? Is writing one a particularly challenging thing to do? Is improving existing ray tracers the equivalent of chip manufacturers increasing CPU performance in the chip world? Just trying to understand this a bit better.
- speps 8y agoThe big news is a standardized API to do realtime raytracing. Both of those are a big deal because as you said everyone until now wrote their own and had to overcome the challenges associated with that. If that's taken care of (for the most part), the only things left to write as a developer are how you want to use this feature. In TFA, it's using it to do realtime raytraced reflections where previous techniques to do that in realtime are too much of an approximation and have big drawbacks.
- electricslpnsld 8y ago> what's the importance of improving existing ray tracers In the offline space (film, visualization), cost. Movies get cheaper to make. In the realtime space (games), lots of visually important effects are difficult to do with rasterization, leading to complicated/large/expensive-to-maintain rendering solutions. With a physically based path tracer, a lot of these effects come out of the box. Path tracing has traditionally been too expensive to do in realtime, however, and has been 'just around the corner' for the past 20 years. If I'm not mistaken, recent advances in image de-noising, which seems to be the crux of the new NVIDIA technology, have made real time path-tracing on the GPU much more practical. > Is writing one a particularly challenging thing to do? Depends how deep you dive. You can write a basic tracer to render a sphere and fit it on a business card -- this is a typical assignment in introductory graphics courses. Rendering complicated materials is a never ending rat hole of complexity, lots of rendering research looks effectively like material's science, these days.
- chasingthewind 8y ago>Is writing one a particularly challenging thing to do? I wrote a simple ray tracer for a college project in the 90s so I would tend to say that part of the novelty is that it's actually quite easy to write a very basic ray tracer and get cool looking images :)
- bitL 8y agoNVidia, please don't tease us, release Volta-based gaming GPUs already!
- pasta 8y agoSome context: those real-time renders are done on a $150,000 rig. Ofcourse when you are a movie production company this will be no problem. But I think most gamers still have to wait a little.
- aspaceman 8y agoGamers will still see the effects of this power on lower quality rigs. Global illumination can be approximated by doing ray-tracing computations at the surface level rather than the image level. Modern-day games are approximating more and more complex effects in this way, and I personally think that the gap between a game like Nier Automata or The Witcher 3 (which both use a lot of global illumination but are still rasterized) and ray-traced images isn't that stark.
- frenchie14 8y ago$50,000, but still quite a ways from consumer level https://www.tomshardware.com/news/nvidia-v100-dgx-station-gpu,36616.html https://www.tomshardware.com/news/nvidia-v100-dgx-station-gp...
- polskibus 8y agoApparently you can do this with 4x TitanV which is $ 12k total. citation: https://twitter.com/BrianKaris/status/977224198148931584 https://twitter.com/BrianKaris/status/977224198148931584
- Nokinside 8y agoThis is the case for 5G ultra low latency and edge computing (as is VR). Move GPU units close to proximity and have 1-2 ms latency and you justify more expensive hardware compared to individual purchases.
- dmix 8y agoDuring the original presentation they said the demo video was using 2x Volta cards which is $3k each, so $6k in graphics cards. But I'd trust the guy on Twitter more than the marketing pitch. https://youtu.be/7dqOSTjpfOI?t=3m18s https://youtu.be/7dqOSTjpfOI?t=3m18s
- sprash 8y agoIn comparison to rasterization, ray tracing does a perfectly good job of doing correct reflections. However from a psychovisual standpoint correct reflections are the least important thing to look for. Just use a dedicated cube map for a scene and use environment mapping and focus on stuff that really matters and everybody immediately notices. Like high resolution textures, some proper anisotropic filtering and "HDR" lighting.
- dragontamer 8y agoRay traced shadows are noticeably better than rasterized shadows. In practice, ray-tracing will never fully take over rasterization. At best, a standardized ray-tracing API will perform a few calculations which are superior in the ray-tracing style. IE: Mirrors, Ambient Occlusion, and Shadow generation. Everything else (texturing, among other things) will likely remain rasterization.
- elihu 8y agoWhy wouldn't some form of ray tracing or path tracing eventually take over once we have the necessary hardware and software and standard APIs to do it at high resolution and high framerates? What features does polygon rasterization give us that can't be replicated any other way?
- alkonaut 8y agoIf there is a limit to FPS and resolution where we say “ok that’s enough” then we could ray trace more with the yearly advances in computing power. And I really thought at one point that was 1080p. But later I thought it was 2k, then 4K, then 2x8K (per eye in VR). Now I honestly have no idea what the “endgame” is, but if it’s say 8K@120 for single screens and twice that for VR then thats two to there orders orders of magnitude away from what a regular gaming card does today. The problem with numbers that big is that it’s hard to say what the tech landscape is. The killer feature of rasterization is that it gives an illusion of correctness at a millionth of the computational effort. Apart from efficiency I can’t see many attractive properties.
- sounds 8y ago> The Reflections GDC demo ran on a DGX Station equipped with four Volta GPUs using NVIDIA RTX technology. For now, you will need similar horsepower to leverage real-time ray tracing. In the future, we can rely on Moore’s law to bring down the cost and complexity of how this technology is packaged and delivered. While GPUs are getting the full benefits of Dennard Scaling, much more so than Intel CPUs a la Goordon Moore, everyone is feeling the process pain of 10nm, 7nm, and beyond. It stands to reason that the major advances in real time ray tracing will be evenly split between more efficient designs and smaller transistor sizes. It seems foolish in 2018 to "rely on Moore's law" to bring a 4 x Volta GPU requirement to something more palatable for the mass market.
- namibj 8y agoWho says that we can't just drop the cost of maxing large 14nm Finfet dies and get some sort of stacking, possibly with low-tech, i.e. single-patterning, silicon interposers? The cooling/power density is not a fundamental problem, and as long as we stay under about 20-50W/cm^2 == 200-500mW/mm^2. At that heat flux we'd need 1-5mm spacing between the hot side and the other side (I do not know about experiments that cover two closely spaced hot surfaces, as you would have in slightly-spaced vertically stacked dies), and would just pump coolant with a boiling point 20K under the die's surface temperature through this. On the other side we'd get a mixture of vapor and liquid coolant, and the vapor could, at least at temperatures that a human can endure, be condensed with a small radiator and a fan, or even a larger, fanless radiator. The primary reason for such exotic packaging/stacking would be that chips need way less power to transmit over such short distances, compared to longer reach systems, as for a comparison between DDR4 and HMC [0], HMC uses about a third the power for DDR4, and that at much higher clocks. Also compare the AMD Zen IFOP intra-package links, which uses 2pJ/bit for the transceiver [1]. This should be possible to extend to an edge-mounted package (where the processor dies have contacts on one or two edges, and are soldered at a right angle to a suitable interconnection/mounting plate), though apparently no one really tried it. The downside would be that one does not have as many pins on the processor dies as currently normal, but I doubt that would be a significant problem, considering the integration benefits. A possible alternative in case of significantly improved yield would be wafer-scale integration, using the space outside of the normal reticle limit for routing larger feature-size mesh interconnects and handling the necessary routing around this later, but that would result in non-trivial software, as it would have to adapt to a given processor's routing layout. TSMC is apparently able to manufacture with reasonable yield individual 'cells' of slightly over 800mm^2, on 300mm wavers. This comes out at about 90 dies, of which some will be dead. With the power density of 50W/cm^2, that would be 3600W, but the upper limit, with significant efforts (ways to increase the flow velocity on the surface) to increase the maximum cooling capacity, would be around 100-300W/cm^2, which would put this at the TDP of an average 42U rack. The weird part would probably be some kind of reverse flip-chip packaging, where contact modules would be bonded to the functioning dies on the wafer, which would then later be fitted with some sort of cable or so, or they could be a miniature optical module. This would also need to provide the power. Cooling would be done on the back side, but the front would likely need some structural support to hold the static/dynamic pressure of the coolant without flexing/breaking. [0]: https://www.semiwiki.com/forum/attachments/content/attachments/8472d1378287921-hmc-performances.jpg https://www.semiwiki.com/forum/attachments/content/attachmen... from https://www.semiwiki.com/forum/content/2731-did-you-miss-cadence-s-memcon-q.html https://www.semiwiki.com/forum/content/2731-did-you-miss-cad... [1]: https://en.wikichip.org/wiki/amd/infinity_fabric#IFOP https://en.wikichip.org/wiki/amd/infinity_fabric#IFOP
- deleted 8y ago[deleted]
- elihu 8y agoThere are a lot of inaccuracies in the article. > "Rasterization starts with a particular pixel and asks, 'What color should this pixel be?' " Nope. Traditional polygon rasterization just works its way through a drawlist and rasterizes each polygon into a frame buffer (checking against a depth buffer so that things far away don't get drawn in front of things that are nearer). It's only at the end of the drawing process that we can inquire what color a particular pixel is. > "Ray tracing works from the viewing angle and light sources and asks, 'What is the light doing?'" No, ray tracing traces rays out from the eye and figures out what they hit. Path tracing traces rays out from the eye and samples a bunch of random rays when they hit something, to simulate global illumination, soft shadows, and similar effects. Photon mapping literally simulates photons by tracing rays randomly out from the light sources and depositing their hit locations in a data structure. (That's probably the most literal match for the description of figuring out "what the light is doing".) > "Ray tracing works by tracing the path of a light ray as it bounces around a scene. Each time a ray bounces, it mimics real-life light by depositing color from earlier objects it has struck, and also loses intensity. This depositing of color makes the sharp reflections and subtle, realistic color variations that, for certain types of materials and effects, can only be achieved with ray tracing." This is a pretty accurate description of photon mapping. Ray tracing and path tracing work in reverse, by tracing rays from the eye. Since path tracing and photon mapping fundamentally work by tracing rays (i.e. doing ray-intersection tests between rays and objects), it's not completely unreasonable to refer to a path tracer or photon mapping renderer as a ray tracer, but not all ray tracers work the way the article describes. > "Because it mimics light’s real behavior, ray tracing also excels at producing area shadows and ambient occlusion. " You can do area shadows and ambient occlusion in a ray tracer if you're willing to do a lot of random ray sampling, but it's not inherently a characteristic of ray tracing. > "Until now, ray tracing was implemented only in offline rendering due to its intense computational demands. Scenes computed with ray tracing can take many minutes to hours to compute a single frame, twenty-four of which are needed to fill a single second of a film animation." This may be an accurate description of path tracing with enough samples to drive the noise down to a level that's imperceptible, but ordinary ray tracing of non-pathological scenes doesn't usually take that long these days on modern hardware. People have been doing real-time interactive ray tracing for a long time (I recall running Outbound on a Core2 duo laptop about 10 years ago. Framerate was choppy and resolution wasn't great, but it worked). Brigade is a more recent real-time path-tracing rendering engine, and it's been around for years as well. That isn't to say that their demo isn't an impressive technical achievement.
- jessewmc 8y ago> using the latest GPUs and machine learning techniques I have no expertise in either graphics or machine learning, but is this just buzzword for its own sake, or is there actually any way that machine learning is applicable to a mathematical problem like rendering? Again, from my position of relative ignorance, it seems like graphics is largely a well defined problem space that needs mathematical ingenuity and bigger/better hardware thrown at it, rather than building a black box function by training it on sample inputs and outputs (what would that even look like?)
- Asooka 8y agoThey're using Nvidia's denoiser which is based on a pretrained neural network. Edit: look up "optix denoiser"
- Shikadi 8y agoTo my knowledge, it's a buzzword. That being said, I'm also not an expert, and would like to hear from one to be sure, since it would be interesting af if they actually are using machine learning for Ray tracing
- meheleventyone 8y agoFor raytracing it's been used to de-noise images: https://blogs.nvidia.com/blog/2017/05/10/ai-for-ray-tracing/ https://blogs.nvidia.com/blog/2017/05/10/ai-for-ray-tracing/
- jessewmc 8y agoTIL, thanks. That's a more prosaic answer than I was expecting but clever and makes sense.
- John_KZ 8y agoIf you look closely, at around 0:22 it causes some artifacts in the rifle's red light matrix thingy. It could be regular compression artifacts, but they look like denoising artifacts to me.
- 8y ago
- mmcconnell1618 8y agoEpic is also providing the software rendering engine for the new Millennium Falcon ride at the Star Wars expansion to Disney. This real time ray tracing demo was probably part of the development process for the ride. https://wdwnt.com/2018/03/first-on-ride-image-revealed-of-millennium-falcon-attraction-for-star-wars-galaxys-edge-tech-details-discussed/ https://wdwnt.com/2018/03/first-on-ride-image-revealed-of-mi...
- shmerl 8y ago> Now, leveraging the efforts of several technology companies, support for Microsoft's DXR API and ray-traced area light shadows will be available in the main branch of Unreal Engine 4 by the end of 2018. MS only? No, thanks.
- naikrovek 8y agoHow many NVidia-only features do you use? Nvidia today are just as evil as MS was 20 years ago, they just don't have the market share Microsoft did, so no one notices how unbearably evil and unnecessarily proprietary and exclusionary they are. Just like MS was.
- shmerl 8y agoI don't, I have AMD :) And I agree, Nvidia lock-in is as bad as others.
- hyperpallium 8y agoHow do you do diffuse lighting with ray tracing? Wouldn't you need an unreasonable number of rays to model it accurately?
- gpm 8y agoYou do, the solution is to cheat. Use the same phong lighting model as you do for traditional rendering and add a reflection component via ray tracing. (Or at least that's what I did when I wrote a real time raytacer) For non-real time applications the solution is to use an unreasonable number of rays.
- dahart 8y agoDepends. The diffuse direct lighting from a point light only requires one ray, same as with rasterization. Diffuse bounce lighting may need more rays. Area lights may need more rays. Since both of those things are lower frequency signals, they often don’t need to be re-computed independently for every pixel, so people have various algorithms and caching schemes that drastically reduce the number of rays needed. All of these names do somewhat similar kinds of caching of bounce lighting: photon mapping, irradiance caching, light maps, light baking. Additionally, there are tricks to get decent estimates of shadows from area lights in fewer samples. The demo-scene ray marching guys usually do a great job with one ray (not ray traced, but compatible with ray tracing and very fast.) Sometimes though, people do use an unreasonable number of rays to render global illumination, area lights & diffuse lighting.