Author Archives: Eric

Ken Torrance’s accomplishments

Ken Torrance, 69, passed away unexpectedly February 15. His last name should be familiar to many of you: Torrance-Sparrow and Cook-Torrance are two reflection models that bear it.

He was a professor in the mechanical and aerospace engineering department at Cornell. Don Greenberg, head of the Program of Computer Graphics at Cornell, was his long-time collaborator and was one person who spoke today at a gathering in remembrance of Ken. He talked about how Dr. Torrance was not a man who blew his own horn, how he was humble about his contributions. The main thing for Ken was that he loved to teach. Some early accomplishments Don noted (with my own additions):

  • Published in 1967, Torrance-Sparrow was based on his PhD work (Sparrow was his advisor). It is a reflection model that was based on experimental data combined with theory. Microfacet theory had been around since the 1920’s, but had problems, such as going to infinity at an incidence angle of 90 degrees. Torrance-Sparrow describes off-specular peaks, i.e., the phenomenon where the brightest reflection off of roughened metal is not in the reflection direction. It’s worth noting that Blinn’s reflection model is directly derived from this work, putting it into vector form.
  • Cook-Torrance, in 1981, should be more familiar to computer graphics people, coalescing ideas about microfacet distribution and Fresnel reflectance and bringing in the idea of wavelength dependence. Rob Cook is currently the VP of Software Engineering at Pixar.
  • The idea of using heat transfer theory in computer graphics is Torrance’s idea, along with Greenberg; another great example of how cross-pollination between fields can yield fantastic results. The paper by Goral et al. (including Ken) in 1984 describes computing diffuse-diffuse interaction. It introduced two concepts to the field that have become key elements of global illumination theory and practice: form factors and radiosity. What’s interesting to me in this paper is that it includes something somewhat rare in our field, an explanation of an experimental setup to compare computer-generated results with reality. It’s the paper where the Cornell Cube was first used (empty! It made visibility computations ignorable). If you want to try a form of this experiment, look here.
  • I could go on and on, the themes being simulating light transport and materials along with physically measuring BRDFs and illumination spectral distributions—theory and experiment. You can see some other papers listed here. Here’s the measurements lab in 1995. SIGGRAPH recognized his accomplishments in 1994, giving him the Computer Graphics Achievement Award that year.

I had a passing acquaintance with Professor Torrance over the years. I was working on ray-traced shadows, not radiosity, during my time at the Cornell PCG lab from 1983-85. I recall seeing a photo on a monitor in the lab one night and asking Cindy Goral about it, why it was scanned in. She told me it was an image she had generated with radiosity techniques, which was utterly flabbergasting to me. Dr. Torrance was a smart guy and a nice person, but I didn’t know him much beyond that. All I knew was that he was helping Cindy, and in his life many other students, make astounding images.

If you have a personal memory of Ken, you may wish to leave a note in the family’s guestbook.

Shadow Survey from SIGGRAPH Asia 2009 course

I asked Daniel Scherzer about my post about his book. He said it’s about right (and the long subtitle is indeed a Verlag decision).

The cool thing that turned up: their upcoming STAR survey on hard shadows will be more theoretical and detailed than his thesis’ survey. It will be similar to the hard shadow section in the SIGGRAPH Asia 2009 course Casting Shadows in Real Time (which has a solid 90 pages on direct illumination shadow algorithms, plus more on related methods).

I’ve updated the original post with this information, but wanted to make a separate post so that people wouldn’t miss this valuable overview on shadows and ambient occlusion (just a tiny bit on the latter).

Another new book, with an incredibly long subtitle

Amazon sent an auto-recommended of this book to me. Unlike last time, which was humorous but unrelated, I actually appreciate this one: “Temporal Coherence in Real-Time Rendering: Practical Approaches for Capitalizing on Temporal Coherence in the Domain of Real-Time Rendering,” by Daniel Scherzer.

At $81 for a 132 page book, I suspected it was a thesis reprint. Indeed it is: you can download the thesis from here. The thesis is 130 pages long, so my guess is the book form adds nothing (and subtracts $81).

So, you can download it for free now, but should you read it? Well, it is a thesis, which means it collects various papers and presents each in turn. This thesis focuses on using temporal coherence, i.e. use previous frames’ computations in various ways. It includes Daniel’s hard shadow (history buffer), soft shadow, and discrete LOD blending work, as listed here. Since it’s a thesis, the author can stretch out a bit more and cover various areas in depth. The focus is on improving image quality: hard shadows are higher resolution, soft shadows look smoother. There are limitations to his approaches, e.g., the lights are fixed in place, and objects generally should be static.

As with most theses, it also includes an extensive “previous work” section at the beginning. There is a 23 page overview of a number of shadow techniques and LOD work, explaining strengths and weaknesses. From my skim, this looks quite good; not quite all-encompassing (which is good: there are way too many shadow papers), but hitting most of the major areas of research. Let’s put it this way: if and when we write a fourth edition, I’ll certainly carefully read his categorization of various problems and think about how to integrate it into our section on shadows. His is the best recent overview of the subject that I’ve seen. He’s also the coauthor of an upcoming survey on hard shadows, not yet available for download but which I suspect is similar to his thesis’ overview.

Update: I asked Daniel about this post, he said it’s about right (and the long subtitle is indeed a Verlag decision). The book version contains an index, and different (non-copyright-protected) images. Also of interest, their upcoming STAR survey on hard shadows will be more theoretical and detailed, similar to the hard shadow section in the SIGGRAPH Asia 2009 course Casting Shadows in Real Time (which has a solid 90 pages on shadow algorithms).

Upcoming Optimization Book

Eric Preisz has a book coming out in time for GDC, “Video Game Optimization.” I haven’t seen it yet, but judging by his article on optimization on Gamasutra, it should be pretty good—he knows what he’s talking about.

By the way, assuming you’re using Google Chrome for browsing (it’s what the cool kids use), I found AutoPager Chrome to be a nice little extension. Instead of needing to click at the end of every page of an article, it glues page after page into one long scroll.

SBIM-NPAR CFP

SBIM = Sketch-Based Interfaces and Modeling workshop
NPAR = Symposium on Non-Photorealistic Animation and Rendering
CFP = Call for Participation

SBIM-NPAR 2010 will be held June 7-10 in Annecy, France. The NPAR call for participation is up; due date is March 15th, but April 2nd for any SIGGRAPH rejections to be considered. In addition to research, they’re specifically looking to the games community for production papers on how game developers create their GUIs, editing tools, and NPR effects.

Every other year NPAR is held in Annecy, and it sounds lovely. In the evenings the Annecy International Animated Film Festival takes place—how perfect! Someday I’ll figure out a way to attend; until then, I can but dream.

Made me laugh

I noticed Kirk & Hwu’s “Programming Massively Parallel Processors” book is back in stock at Amazon (and now with 2 mixed reviews), after being unavailable for a number of days. The part that made me laugh is Amazon’s ranking listing:

#1 in  BooksComputers & InternetHardwareMainframes & Minicomputers


If GPU computing isn’t the antithesis of mainframes and minicomputers, I’m not sure what is…

Visual Treats

I usually end each “7 Things” post with a lighter item. Having beaten through my backlog of resources, there are a bunch of visual links left over. So, here’s a post of pure fluffy desserts. All images are clickable for more information.

First, camels:

and zebras:

These are now a part of the “Too True to be Good” gallery.

3D fractals:

More information about these on Geeks3D.

Crayola’s Law is that the number of crayon colors doubles every 28 years:

I just plain liked this animated Sierpinski triangle someone used as a profile image (thanks, Evan):

Nice concept, the equations of art:

Here’s an art something (not embedded here, you actually have to click), but I don’t have the OCD needed to see the image hidden.

Perhaps not massively visual, but amazing nonetheless, various prime number calculators run using the Game of Life. Here’s the Mersenne prime generator:

I’m starting to believe everything can make a pixel. Here’s coffee:

And rice plants (thanks, Doug):

For a finish, here’s a history of 100 years of film VFX in five minutes:

Well, wait, there’s one more thing… Naty and I love the realistic CG in this piece, The Third & The Seventh. I’m not going to embed it here; follow the link and definitely watch it fullscreen. More amazing still, it’s the work of one guy, Alex Roman. The only elements that are not CG are the photographer, the pigeons, the time-lapsed sky and growing flowers, and the jet. There’s a compositing breakdown video of various scenes, showing the techniques used. That said, Naty likes it but for my tastes it’s pretty boring to watch for more than half a minute, as most CG demos are (jaded? Maybe; mostly, I just like plot).

If your interest wanes, skip to 8 minutes in (well, you can’t skip ahead with Vimeo; just let it load and come back later). Perhaps that’s the best way to appreciate the clip: play it as a loop and look at it now and then, in small doses. There’s a heavy hand with the focus/depth-of-field effect at times, but in one sense I do like seeing this effect overused: it’s like watching CPU cycles burn before my very eyes, knowing how much the algorithm costs. Last niggle (and I should probably be soundly thrashed with a riding crop for noting these things, but it stuck out for me): the wind turbines turn backwards. Quibbles aside, the images here are so much better than any I will ever make that I’m a total admirer of it on the “technical chops” and “incredible dedication” levels.

7 Things for February 10

  • The first three are from Geeks3D, which is a worthwhile site I frequently reference. First: some noise textures, in case you don’t feel like making some yourself.
  • Next, a night-vision filter in GLSL, developed with their GeeXLab tool for prototyping shaders.
  • Finally, PyOpenGL_Lab, which calls OpenGL from Python. Interpreted languages like Python are lovely in that there’s no compilation step, making experimentation much more rapid. If you’re a Perl person, there’s this module.
  • Daniel Rákos has an article about how to perform instance culling using the GPU, using OpenGL 3.2. The basic idea is to run the bounding volumes through the geometry shader for frustum culling and pipe out results as transform feedback, which is then used in a second pass for which instances to actually render. This type of technique has been done using DirectX (e.g., Froblins), Daniel shows how to do it in OpenGL and provides source.
  • Aras Pranckevičius has a worthwhile post on deferred rendering and mipmap bugs, along with some good follow-up comments.
  • John Ratcliff’s Code Suppository has lots of little handy graphics code tidbits and chunks. It’s moving here and here on Google Code, but the original page is much easier to skim.
  • Wolfgang Engel provides a nice little page of books and resources he recommends for upcoming graphics programmers, with some good follow-up comments. I hadn’t heard of the 3D Math Primer before. It gets high ratings on Amazon, and you can use Look Inside. Skimming it over, it does look like a good book, covering many topics with the space they deserve (vs. our sometimes quick zoom through them in our own book). Code snippets are also given throughout. The book mentions “The First Law of Computer Graphics,” but unfortunately the pages explaining it are blocked. Happily, I found it on Google Books: “If it looks right, it is right”. Whew, good, I honestly was concerned there was some law I had been breaking all these years.

… and I’m all caught up, my queue is empty! Well, there will be a special post tomorrow.

7 Things for February 9

Some news, and some olds.

  • HPG has a CFP. In slow motion,  this means the High Performance Graphics conference, June 25-27 in Saarbrucken, Germany, has a call for participation. Naty talked about this conference in his post two months ago; now the HPG website and CFP are up. In case you don’t recognize the conference’s name, this is the combination of the Graphics Hardware and Interactive Ray Tracing symposia. HPG was fantastic last year, with more useful (to me) papers than SIGGRAPH (where it was co-located). Potential submitters please note: because HPG 2010 is co-located with EGSR this year, the deadlines are very tight after SIGGRAPH notification and quite rigid. In other words, if your SIGGRAPH submission is rejected, you will have a very short time to revise and submit to HPG (i.e., by April 2nd).
  • NVIDIA has put up a list of talks at GDC in which it is participating, which will undoubtedly appear soon after on the web. In other NVIDIA news, there’s an interesting press release about NVIDIA and Avatar and how GPUs were used in precomputation of occlusion using ray tracing, for scenes with billions of polygons.
  • A handy tool for showing frame rate and capturing screenshots and video that is worth a mention again (it’s buried on the Resources page): FRAPS. It’s been around forever, continues to improve, and the basic version is free.
  • Crytek made an updated version of the famous Sponza model (used in many global illumination papers) available in OBJ and 3DS Max formats, along with textures. If you have the time, in theory 99 lines of code will make a picture for you.
  • Stefan Gustavson has a nice little demo of using distance fields for “perfect” text rendering. This type of technique has been used for a number of years in various games, such as Valve’s Team Fortress 2. The demo unfortunately falls apart when you rotate the scene off-axis, but otherwise is lovely.
  • SUBSTANCE is an application for making 3D evolutionary art. I really need more time on my hands to check this sort of tool out…
  • Theory for the day: we don’t have fur because our skin can show our emotions, which we pick up with our improved color perception.