
A Ray-Tracing Pioneer Explains How He Stumbled into Global Illumination - mariuz
https://blogs.nvidia.com/blog/2018/08/01/ray-tracing-global-illumination-turner-whitted
======
rollulus
I used to be active in computer graphics. Great to see an article by Whitted
himself. A bit of trivia: I think _the_ pioneer in the field of ray-tracing is
Albrecht Dürer [1] who ray traced by hand in the 16th century.

[1]: [https://www.researchgate.net/figure/Man-drawing-a-lute-by-
Al...](https://www.researchgate.net/figure/Man-drawing-a-lute-by-Albrecht-
Duerer-1525-In-this-drawing-Duerer-illustrates-a_fig16_312605716)

~~~
dahart
That immediately reminded me of "Tim's Vermeer", have you seen it? Software
guy Tim hypothesizes that Vermeer was tracing rays using an optical setup
without strings, maybe vaguely similar to Dürer's. He sets out to recreate the
device and Vermeer's painting's. It's a wonderful project.

~~~
rollulus
I haven't seen it, but I just watched the trailer. Looks like an awesome
documentary, thanks!

------
bhouston
Papers mentioned in the article:

"An Improved Illumination Model for Shaded Display" (1978):

[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.3997&rep=rep1&type=pdf)

"A 3-Dimensional Representation for Fast Rendering of Complex Scenes" (1980):

[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.6937&rep=rep1&type=pdf)

------
fizixer
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.

~~~
valine
The 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
Two 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)

~~~
gt_
These 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.

~~~
pgrad
[2] At 3:43 and 5:12 you can see the reflections at different levels of
roughness. The rougher the surface, the more diffuse it will appear.

------
Keyframe
Tracing ray from camera towards light source is called Whitted raytracing -
author of the text is J. Turner Whitted.

------
dmritard96
Would absolutely pay up if I could get realtime raytracing for Fusion360
(Industrial/Mechanical Design software). Waiting for renders to bake only to
find out that the lighting needs to be adjusted slightly can be frustratingly
slow.

~~~
semi-extrinsic
Hmm, IIRC Inventor does realtime raytracing, with first image after ~10
seconds and production quality images after a couple of minutes (this was on a
XPS 15 laptop with the GTX 960M GPU).

My guess is that it's one of the features Autodesk doesn't want to put in
Fusion360 so they retain a market for the more expensive Inventor.

~~~
GuB-42
I don't think we can call it real-time below 6 FPS (0.17s). That's the
framerate of cheap anime. And the goal should be at least 30, which is a
typical video game framerate.

The only examples I have where real-time raytracing is used are demoscene
productions where shapes are defined using simple mathematical primitives.
(see the 4k intros "absolute territory" and "zetsubo", both from prismbeings
for example).

