What Does NVIDIA’s Ray Tracing News Mean for the CAD Market?18 Apr, 2018 By: Alex Herrera
Herrera on Hardware: At NVIDIA’s GPU Technology Conference in March, the graphics processing unit (GPU) developer announced “real-time ray tracing” — but is it? And what does this development portend?
This begs the question, If ray tracing is so good, why haven’t we always relied on it for our 3D visualization needs, especially in demanding visual workflows like CAD? In a word: complexity. Ray tracing is extremely compute-, memory-, and bandwidth-intensive, and any kind of general usage has long been impractical, given the typical computation horsepower historically available to users. That’s precisely why early 3D graphics APIs and pipelines like IrisGL (now OpenGL), PHIGS, and eventually Direct3D and all modern “graphics engines” were modeled not on ray tracing but after a very different approach, generally referred to as raster graphics.
Rather than shooting rays from the camera through a 2D viewport out into the 3D scene, conventional raster graphics processors project 3D surfaces (typically broken into polygons, or specifically triangles, by GPUs) toward the eye/camera and onto a 2D viewport, resulting in the viewed image. By its nature, raster graphics has a tougher time than ray tracing in visualizing physically accurate lighting and shading — especially things like shadows, caustics, reflections, and refractions — although many “global illumination” techniques try to get as close as is reasonably possible. (As an aside, that’s precisely why so many features added over the years to improve image fidelity tended to be more “workarounds” or “hacks” that made the image look better, but didn’t necessarily or precisely follow physical properties).
So no, raster graphics was never chosen over ray tracing for its image fidelity, but rather for being the best available compromise of quality results and interactive performance. Accordingly, the GPUs of the ‘80s, ‘90s, and into the ‘00s all were built to render 3D raster graphics and directly modeled after those APIs and pipelines. And since the computations and data access patterns of ray tracing are so different than raster graphics, the early GPUs of the ‘80s and ‘90s couldn’t do much to make the ray tracing process any faster, let alone anywhere near what most would deem “interactive” levels.
Ray tracing (bottom) shoots a ray from the viewpoint into the scene, calculating contributions from objects, materials, and light. Conventional raster graphics technology (top) works by projecting 3D surface polygons from the scene onto a 2D viewport. Images courtesy of Henrik, distributed under CC BY-SA 4.0 (bottom) and OpenGL.org (top).
But somewhat ironically, it was the same inflection point in the ‘00s that allowed NVIDIA to pursue other, non-graphical markets — the transition from fixed-function hardware to programmable processing architectures — that also opened the door for GPUs to better accelerate ray tracing. In that way, it’s better to think of ray tracing as more of a new-generation “general-purpose” GPU application, rather than a graphics one, simply because it doesn’t leverage the conventional graphics processing pipelines. Ray-trace rendering engines like iRay began offloading more and more to the GPU, and performance subsequently began climbing generation to generation at a more rapid pace. And now we’re at a new inflection point, where the confluence of strides in GPU performance and a progression in GPU-accelerated deep learning created the synergy that yielded Quadro GV100 with RTX technology … and NVIDIA’s shot to claim “first real-time ray tracing.”
The Holy Grail of 3D Rendering Is in Reach — for a Few
As significant a milestone as the GV100 and supporting RTX technology represent, “real-time ray tracing” is not yet “mainstream real-time ray tracing.” Because there’s a catch, at least for now. It’s a $9,000 catch to be exact: the MSRP of the Quadro GV100. While there absolutely are a few who need real-time ray tracing enough to justify the price, the reality is its price tag will limit its scope to less than 0.1% of the served workstation market (source: Jon Peddie Research). That’s no knock on the product, and really the lesser point to make here. Rather, the key take-away is what the emergence of the Quadro GV100 portends: ray tracing rapidly transitioning from its days as a rarity or luxury to a visualization tool that can (and likely will) become a common staple in mainstream CAD workflows across the board. We just need to be patient a bit longer before it ends up in the hands of the masses. Because over time, what the Quadro GV100 has achieved will assuredly trickle down to the high end, the mid-range, and someday the entry level as well. In the meantime, it will find homes in the more discriminating must-have applications, and its owners will finally be capable of the real-time ray tracing the graphics pioneers of decades ago could only dream of.