Time to clear the link collection before GDC/GTC – download some web pages for the plane ride.

OK, even I’m getting a bit tired of writing about Ray Tracing Gems (not to mention Real-Time Rendering) goings ons. But, a few things:

  • The code repo for Ray Tracing Gems is now up! Some more code will be added and updated later, after the GDC/GTC rush.
  • At GDC Naty Hoffman, Angelo Pesce, and I will sign copies of Real-Time Rendering on Wednesday, 3-4 PM, at the CRC booth, P1867, located near the Connect Lounge. If you’re around (and even if you already have a copy or never want one because GPUs are a fad), come by and say “hi.”
  • Authors of Ray Tracing Gems will sign the book right after, 4-5 PM, in the alcove west of Room 201 South Hall (two floors up). It looks like at least 17 authors will be at GDC, but all may not be able to attend. I’ll be giving a rap-free fast-forward talk after, in Room 205. Map below.
  • GTC: book talk Thursday 2-3 PM room 230B (Concourse Level), book signing after at the GTC bookseller 3-4 PM.
  • The only physical copies of Ray Tracing Gems available until May will be sold at GDC and GTC, nowhere else. So buy them all and resell on EBay. No, don’t do that.

Really, all this info except the Real-Time Rendering signing is covered on http://raytracinggems.com

Book signing (in yellow) map for GDC, right next to the restrooms – classy 🙂


I haven’t done one of these for awhile – too busy with The Book (not That Book; the Other Book). Here’s a collection of stuff I’ve noticed the past few weeks.

  • GDC: hey, there’s a Shadertoy meetup. Me, I’ve been to GDC only once before, back in 2001, and look forward to going this year. Help me out: What should I know about and not miss?
  • If you’re in the Boston or London area in March (the 31st and 16th, respectively), go to BAHFest. I went last year for the first time, and it was pretty great. Here’s a winner from last year, how cats are behind crypto-currency fever.
  • Youtube recommended I watch this video, and they were right! Path tracing explained fairly well, in a wonderful hokey 50’s style. Andrew Glassner pointed out there’s another in a similar style, on snow simulation.
  • Clickbaity title, but I liked this article for its rundown of color blindness and a possible cure.
  • Also in Wired: Lena/Lenna is an iconic image, a symbol of objectification, and a point of pride to Lena herself. The world’s a fascinating place, which is one of the reasons I live here instead of on Mars.
  • Just so there’s some actual chewy technical content in this post, see this article on mesh simplification. It has a generally-applicable idea: you often don’t need an exact sort, just a rough one, e.g., for depths or sizes of objects. For that, a single-pass radix sort might be just the thing. BTW, there are a surprising number of odd videos on sorting: Radix sort (and different group, different song); bubble sort – I’m a sucker for Balkan music; and this 15-sorts one – no dancing, and sounds like a set of 8-bit game sounds run amok, but still interesting if you know the algorithms. I hadn’t heard of the cocktail shaker sort, and sadly the bogo sort is not played to completion…
  • Improved Kill/death ratio as a selling point. Admirably, they attempt to control for skill level, based on number of hours played as a proxy. Surprising conclusion: “the higher the skill level, the more that players are attuned to the game and can benefit from differences in hardware.” Also, 144+ FPS seems to be the current frame rate to aim for. Yes, I work for NVIDIA now, but I found it interesting and believable. If you’re in sales, you’d like the opposite to be true, “just buy new hardware and you casual players – the vast majority – will benefit the most.” (Thanks to Pete Shirley for pointing this one out.)

Repeat that title three times, then “and I feel fine.” This R.E.M. song has been going through my mind much of the week, as the Ray Tracing Gems book was released last Saturday as a free PDF. With Open Access, the publisher agreed to put the book up for free, even before the physical book was available. Apress has 27 other Open Access titles free to download, so they’re somewhat used to the idea.

The bragging number is that the official Ray Tracing Gems PDF has been downloaded 102K times as of today. I suspect there are a lot of pack rats out there who will download any book that’s free, or someone’s trying to make Tomas and me feel good by setting up an auto-download bot farm (if so, thanks, good job!).

But wait, there’s more. Stephen Hill spotted some typos in the preview copy and sent them on to me Saturday. Monday I made an unofficial PDF for distribution, identical to the official PDF but with his and other errata fixed. Doing so is fine under the license, which allows reasonable changes that are properly noted. The publisher and I worked on the wording on the front page to clearly label this version as unofficial, then I released it on Tuesday. It’s of course the one I recommend grabbing. Being more “hidden,” this one’s been downloaded a more believable 499 times as of last night.

“Supplies are limited” is my favorite ridiculous marketing phrase, always true since there’s a large but finite amount of material in the universe. For GDC and GTC, it’s actually true. The publisher is rush printing and shipping a few hundred copies for these conferences, and they should arrive at onsite booksellers and to NVIDIA next week, fingers crossed, knock wood, rub lucky rabbit’s foot. The hardcover book will not be available for online purchase until mid to late May, though on slightly-higher quality paper (coated glossy vs. coated matte; I believe “coated matte” is what the GPU Gems series used).

Me, I like having both the physical and the electronic forms: electronic is great for searching and for travel, physical is nicer to read (at least for me), use stickies on, add notes in the margins, and for getting signed. Speaking of which, see our page for authors’ signings and talks at the conferences.

So, this is all an odd sequence: NVIDIA released free preprints of the book during February, as did EA; the publisher released the PDF for free in March; I (or anyone) can then make a slightly improved version for distribution; the physical book will be available at conferences in 10 days but not for online purchase until May. Releasing preprints of a whole book, fixing errors in the released version – this is not something we’re used to. Personally, I know I’ve had any number of emails along the way where we each reassure the other, “no, it’s OK, this is how it works under Open Access.”

On November 1st of every year, the Finnish government publishes everyone’s salary. It’s a nice leveler of the playing field for workers, as they can see if they’re paid fairly and what to expect at another company.

In the U.S. we generally know elected officials’ salaries (president $400,000, senator $174,000, etc.) but not much else. Except for non-profits, who have to file public tax returns.

I’m doing my taxes this weekend. To avoid that time-sucking task – one that takes only five minutes in The Netherlands – I decided to go look up the ACM’s and IEEE’s forms. It takes a bit of searching, but it’s interesting to see where the money goes. To start, here are some ACM salaries from their 2015 return (actual return here):

Half a million for the outgoing Chief Executive Director – not bad. I’ve asked around, and on one level this amount is a bit shocking, but it’s evidently (for good or ill) the norm for non-profits of this size.

Putting this info on the blog makes me feel a bit embarrassed; it’s breaking a social norm here, revealing a salary. But, it’s public knowledge! We’re now used to services such as Zillow to see someone’s property value – something we would have had to work hard to do back in 2005 (e.g., go to some government office and look up the deed). However, in the U.S., knowing someone’s salary is usually not something you can look up and is pretty taboo. So, cheap thrills, and it’s easy to do so now for at least a few people.

Wading through the rest of the return turns up various tidbits. For example, the ACM’s overall budget:

So they added about $6.7 million to their total assets in 2015, and ended the year with assets of:

I find these documents worth poking at, just to get a sense of what’s important. For example, the ACM makes its revenue as follows (see Part VIII for details):

Expenses, in Part IX, go on and on, with a large portion of the $60 million going to conferences:

Conferences raise $29 million each year (the revenue snippet), so I guess I conclude that conferences netted $5 million for the ACM in 2015. That cheers me to hear, vs. the opposite. Me, I’m curious how much the ACM Digital Library costs and how much revenue is raised, from individuals and institutions, but these numbers are not found here. I asked once back in 2012; the ACM doesn’t split out the DL income and costs from their other publication efforts.

There are lots of other tidbits in the return, but take a look for yourself.

Let’s go visit the IEEE – hmmm, wait, there are two of them. But both have small budgets, less than $7 million, so that’s not them. Searching a bit (quick, what does “IEEE” stand for?), I found them:

The Assistant Secretary and Executive Director (one person) gets $1.2 million – OK. The actual Director & Secretary doesn’t get paid at all, which I find entertaining somehow:

Now, the IEEE’s budget is a lot higher that the ACM’s, $436 million vs. $60 million:

It’s a different report format, so it’s not clear to me what assets they have.

It’s fun to poke around, e.g.:

ACM doesn’t seem to have any lobbying expenses. I wonder what the IEEE lobbies for – they’re really not spending much, but it’s more than zero. Better electricity? Lobbying is not in and of itself bad (I like it when the AMA lobbies against the use of tobacco just fine), but it’s interesting to see and great for forming unwarranted conspiracy theories.

OK, enough goofing off, this took way more time than I expected; back to my own taxes.

I love free. The first two of the seven parts that make up Ray Tracing Gems are now available in preprint form from NVIDIA’s Developer Zone. Each of the remaining parts will be released every three or four days through February.

The links: the PDF download page (login needed), NVIDIA’s first post about it, their second post, and the Table of Contents

We just finished the first major round of going through the proofs. Lots of little (and a few big) fixes, and there’s another round soon, then the book gets published. But, the goal all along has been to get the finished and corrected articles out to developers sooner rather than later, so NVIDIA’s releasing preprints this month. You do need to sign on to the Developer Zone to download them, but that’s a minute to sign up for a free account, and anyone can do so.

Since NVIDIA paid for the book to be open access, it’s entirely fine to redistribute these PDFs – it’s a brave new world in publishing, I tell ya. The first page of each PDF explains the license, also noted in my previous post.

BTW, there will be an authors & editors book signing at GDC (probably Wednesday 6 PM, maybe earlier) and GTC (almost assuredly Thursday 3 PM), assuming the hardcover book publishing process goes properly and on time. By me adding the phrase “assuming the hardcover book…” I’m hoping to nullify any jinx that occurred by me mentioning these signings – we’re on a tight publication schedule, to put it mildly. I’ll also be giving a “Fast Forward” talk, e.g., on the book’s contents, the hour just before each of these two signings. I promise there will be no rap (Ken Perlin did great in 2002, can’t top that, though all too many have tried), but I may use haikus, such as for Chapter 7:

With a trembling arm
shoot an arrow at a coin –
so are ray and sphere.

That makes you want to read that article I coauthored, right? Right?!

Thousands of person-hours went into this book and there’s lots of great content, so, enjoy! Oh, and spread the word with their tweet or mine.

Tomas and I turned over all our final files for Ray Tracing Gems to the publisher on January 2, and we’re gathering edits from the authors. The Table of Contents for the 32 articles is now public. The publisher’s webpage is up. There’s an Amazon page in progress (BTW, the after-the-colon title, “High-Quality and Real-Time Rendering with DXR and Other APIs,” was requested by the publisher to help search engines find the book).

The hardback book should be available at GDC and GTC, with a free electronic version(s) available sometime before or around then, along with a source code repository. Also, the book is open access, under this CC license. This means that the authors, or anyone else, can redistribute these articles as they wish, as long as it’s a non-commercial use and they credit the book as the source.

Here’s the cover, which should be on the other sites soon.

"Ray Tracing Gems" cover

By the way, if you want to read an article about ray tracing actual gems, this one is a good place to start. I happened upon it by accident, and it’s educational, approachable, and not dumbed down. The design criteria for a good gem cut are fun to read about: maximize reflected light as well as contrast, take into account that the viewer’s head will block off light, and so on. If you need a more serious paper from graphics people, there’s this article. Surprisingly, though fairly old, it is newer than any of the articles cited by the first, much newer article.

Short version: the first book on ray tracing, An Introduction to Ray Tracing, from 1989, is now free to download. You can get the PDF or DJVU version. Note that the PDF has been updated with one erratum fix (so far), and currently is at version 1.1.

Longer version: with Pete Shirley releasing for free his three introductory mini-books on ray tracing this summer, then Matt Pharr releasing the book Physically Based Rendering for free, I asked Andrew Glassner if he could get the rights to release the classic An Introduction to Ray Tracing. He was game, clearing it with the authors, tracing down the right person at Elsevier to ask, going through the paperwork, and – freed! He just wrote me:

I’ve just now received the countersigned rights release for An Introduction to Ray Tracing. I guess the contract was in my name, because I now own the rights! I hereby grant you permission to publicly share the aforementioned book, or the manuscript thereof, or an electronified version of the manuscript thereof, electrically encoded and presented using one or more typefaces of human design, upon a website for the general reading pleasure of the general reading public. Go for it!

So going for it I am. Enjoy! Yes, it’s ancient. But, surprisingly, it’s still a fine introduction in a bunch of ways – math doesn’t rot, and many of the bits from back then are still used today – stochastic sampling, bounding volumes, adaptive supersampling, etc. (Matt Pharr agrees). Andrew’s page about the book (and some history about the cover) is here.

Me, I expect this will cut into my yearly royalties – I earned $6.22 last year on the book – but, ah, the giant sacrifices I make for The Greater Good, and so humble, too. If you consider free books a travesty, you can always buy a copy off this insane page on Amazon – a steal (on someone’s part) at $588.23. The normal Amazon book page is not so bonkers.

Update: Andrew was asked what sort of license the book is under. We discussed it and he chose the Attribution 4.0 International (CC BY 4.0) license, the most liberal of the CC licenses. To quote the main bits:

You are free to:

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use
  • No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.

Do see the whole license page for further details.

If by some miracle you use the first printing of the book, I’ve made an errata page. All these errors are fixed in the PDF and DJVU versions, except as noted.

If you have an NVIDIA RTX GPU, go get this demo of Quake 2 path tracing by Christian Shied and many others. It’s free, and easy to install, as the directions actually work: install the Quake II Starter, download and unzip their Windows executable, copy the .pak files from the Starter to q2vkpt\baseq2, (install the Visual Studio 2017 redistributable if you don’t have it), and run. It’s single player and multiplayer.

It’s Quake 2 in all its crazy-fast running and gunning glory, with shots and explosions that light up the walls, reflective water, and other bits of eye candy. To quote their page:

This client implements fully dynamic illumination without precomputation supporting area light sources, reflections, soft shadows, and indirect illumination. This client is a port of our real-time path tracer vkpt and is based on the Quake II engine Q2PRO.

This effort comes about a decade after Daniel Pohl’s Quake Wars ray tracing conversion, but now works on a normal machine. The ray traced version isn’t particularly more playable than the original, e.g., the lighting for the button to open the cage for your first new gun makes it invisible, but it’s pretty great to see fun little effects. I think all of these effects could be done with rasterization tricks – we are talking about a 21-year-old game here, so the content’s not much to work with – but I suspect it was much easier to add them all with ray tracing than specialized hacks, and with fewer artifacts. That said, they really are path tracing and denoising each frame, which is impressive. See their site for more information and screenshots and Githubbed code.

Anyway, two screen shots I made today, running through the original and the ray traced, with approximate original vs. RTRT shots – something they don’t have on their site. They have nice example videos, which are more fun. I kept trying to take a screen shot of the blaster in use, as its bullets light up the nearby environment, but couldn’t hit the screen capture button quickly enough.



My last post was all the free and easy ways to improve your written work. These get you only so far. Going from “free” to “a penny or more” in today’s friction-free Internet economy is a hard sell, but you should consider it. Would you pay $40 to have your submitted or completed article be more professional and readable? If you’re a researcher, I’d hope you’d answer “of course.” The trick is knowing how to do so.

My answer: hire a technical-oriented copy editor. Specifically, hire Charlotte Byrnes – contact email’s below. She did all the copy editing and typesetting for Real-Time Rendering, 4th edition, and all the copy editing for Ray Tracing Gems. Me, I’m not planning on writing another book for a decade or so – that’s about how long it takes for me to forget all the pain from these two previous times. Charlotte’s not part of that pain – just the opposite. I asked Ms. Byrnes if, with our book done, she was accepting article-editing work. She said she’s currently available, though may have to turn down work if the demand becomes unmanageable. Now that we’re not selfishly monopolizing her time, I asked if I could pass her name along – she agreed, and so, this post.

Of the four editions of Real-Time Rendering, she’s done by far the most clean-up work on our text. I recall a previous edition where the copy editing was nothing but thousands of commas getting added, page after page of little blue “add comma” marks, which (to meet the deadline) I had to type in. Ugh, and I knew there were sentences that could have been polished and improved, but simply weren’t. Charlotte improves sentences, makes equations look better, notes problems with notation, cleans up bibliography references, on and on. With Charlotte, we send her the .tex file, figures, and whatever else is needed to compile the article. She edits the .tex and .bib files, making corrections and adding a few notes about elements she wants the authors to check.

In fact, here’s a simple example, a diff showing her edits to the four-page chapter “What is a Ray?” from Ray Tracing Gems. There are not a huge number of changes, but she caught some grammatical errors, commented on figure notation problems (search on “CE QUERY”), and rewrote a phrase that frankly made no sense, “the surface $\pt{P}$ lies on may intersect” – a problem we four authors didn’t notice ourselves. Great stuff, and so worth it.

My advice: if you’re using .tex, don’t use “\import”, just send her one .tex file with all the text – it’s much easier on both her and you, as you can then do a “diff” with your one original file and see what’s changed. I also recommend putting hard line breaks at 80 characters (e.g., in TeXstudio use “Idefix | Hard Line Break…”), as then the “diff” will be easier to view. Or use WinMerge, which shows long-line diffs without scrolling.

Also, note with the rates below that there’s an assumption the article is in relatively reasonable shape. If you know your non-native-English is not that great, she’s willing to edit, but it’s more per page, negotiable.

Here’s the info she sent:


I have over 14 years experience in academic scientific publishing, both editorial and production, specializing in mathematics and computer science (particularly in computer graphics and game design).

Available Services

o   Copyediting
o   Developmental editing
o   Typesetting in LaTeX
o   Word-to-LaTeX conversion
o   LaTeX-to-Word conversion
o   Proofreading
o   Entering edits in Word or LaTeX files
o   Project management for collections with contributing authors

Base Rates

Copyediting: $2.50 per page/1200 characters
Typesetting: $3.50 per page
Conversion: $2.00 per page, plus $1.00 per significant mathematical expression
Minimum cost of $40.00

Negotiable rates for non-native-English-speaking authors, developmental editing, and additional services

Charlotte Byrnes
STM Manuscript Services
[email protected]

« Older entries