Author Archives: Eric

7 things for January 22

There’s been some great stuff lately:

  • Gustavo Oliveira has an article in Gamasutra about writing an efficient cross-platform SIMD vector library and the tradeoffs involved. The last page was of particular interest, as I had wondered how effective the Intel C++ Compiler (ICC) was vs. Microsoft’s. He also provides downloadable source code and in-depth statistics.
  • NVIDIA has given some information abour Fermi, their next GPU. Warning: their page will automatically start some audio – annoying. You could just skip to the white paper. One big deal about Fermi is its support of doubles, which means it can be used for more science & engineering number-crunching. The Tech Report has a good overview article of other interesting features, and also presents benchmarking results.
  • Tests of OpenCL, the platform-independent parallel programming standard, have started to appear for AMD and NVIDIA GPUs.
  • Speaking of NVIDIA, their PhysX engine is getting some attention. The first video clip in this article gives a sense of the sorts of effects it can add. Pretty stuff, but the funny thing about PhysX is that it must accelerate computations that do not actually affect gameplay (i.e. it should not move around any objects in the scene differently than non-PhysX machines). This limits its use to particle systems and other eye candy. Not a diss—heck, most game graphics are about eye candy—but something to keep in mind.
  • Naty pointed out an article about how increasing the number of megapixels in a camera is just salesmanship and gains no actual benefit. The author later gives more explanation of his argument, which is that diffraction puts a physical limit on the useful size of a pixel for a given camera size.
  • Sony Pictures Imageworks has released a draft describing their Open Shading Language (OSL). While aimed at high-end rendering for films, it’s interesting to see what is built-in (e.g. deferred ray tracing) and what they consider important. Read the introduction for more information, or the draft itself.
  • My favorite infographic of the week: Avatar vs. Modern Warfare 2. Ignore the weird chartjunk concentric circles, focus on the numbers. The most amazing stat to me is the $200M advertising budget for MW2.

… and that’s seven; more later.

Some Actual Larrabee Information

Tom Forsyth, one of the many programmers and engineers on Larrabee, passed on this link to a lecture he gave at Stanford on January 6 for their weekly Computer System Colloquium class. At the beginning he gives a bit about Intel’s view of Larrabee and the effect of “cancellation”, i.e., it’s not cancelled, just the first hardware release is off. He notes the day-to-day work of most Larrabee developers is unaffected. I appreciating him walking through the Intel position, as I haven’t been able to find any hard information (press releases, etc.) on their site. In retrospect, rumor-mill articles like this one (which we passed on earlier, lacking any sound data) appear to have extremely little resemblance to reality.

The rest of his lecture is about Larrabee itself. Early on he talks about the new instructions in Larrabee, something like Abrash’s article but more entertaining. Around minute 37 he gets more into graphics rendering per se. I’ve been listening to it in bits, in the background.

I3D 2010 Registration Open

I3D 2010 is located just north of Washington, DC this year, during the weekend of February 19-21 (Friday through Sunday). It will be at the Bethesda Hyatt Regency, which is conveniently located right on the Metro Red Line.

The early registration deadline for I3D itself is January 20th; hotel registration at the conference discount rate of $115 is available until January 19th.

Ke-Sen Huang has added a few paper links since we last mentioned his page, though the majority are still not available from authors’ pages. Somewhat surprising, given that December 14 was the camera-ready deadline, but perhaps some people are still returning back to their universities & colleges and haven’t gotten around to putting theirs up. That said, conferences like I3D are only partly about the papers and posters themselves. They also offer a unique and wonderful opportunity to meet and talk with leading and up-and-coming researchers and practitioners. It’s a fantastic feeling to be in an area for a few days where just about everyone there is working on ideas that are of interest to you. Anyone you meet knows something you don’t, and vice versa, and most people talk freely about what works and what doesn’t. Energizing and useful. Plus, they’re just fun people to be around, at least for this nerd.

7 things for January 4th

First day of work, so here are a few from coworkers and others:

  • Naty passed on this blog post about RGBD, a compact way of storing HDR environment map colors.
  • Gamasutra has an excerpt from Game Engine Architecture, a book we’ve mentioned before. Added bonus info on the author, Jason Gregory: he was a lead programmer on Uncharted 2 (which my older son loves, as do many others).
  • Manny Ko mentioned the free program Mendeley, which he swears by for organizing his PDF collection of graphics papers. I’ll look into it once I’ve reloaded everything after my Windows 7 upgrade.
  • Physics in graphics? Here’s one person’s extensive collection of abstracts through 2005.
  • From Nicholas Wilt, interesting to hear how one brokerage firm is now using GPUs to run complex simulations for bond prices. That GPU Gems chapter on options pricing was prescient.
  • Speaking of brokers and lots of GPUs, there’s this article. I’m a little skeptical of a GPU cloud for graphics (vs. running OpenCL), since graphics cards are not quite interchangeable parts at this point. Also, CPUs don’t normally need driver updates, GPUs do. OTOY I’m super-skeptical about, I have to admit, though I’d love to see them pull it off. Anyway, fun to think about situations where network bandwidth > graphics compute power and cloud cost < local cost.
  • One more from the demoscene, Farbrausch’s The Cube – interesting effects, what looks like procedural clips and procedural surfaces using interior mapping. At least, that’s my guess. I wish they would spend a little time explaining what they did, though maybe that would ruin the magic.

7 things for December 25

A schedule for Christmas:

7 things for December 24

Here are 7 for the day:

7 things for December 23

Here come seven more, until I run out:

  • The game Saboteur on the PS3 appears to be performing antialiasing by using MLAA. This is great to know that some form of MLAA is both fast enough and high enough quality to be usable in a commercial product. I found it interesting that it is used only in the PS3 version of the game.
  • The free glslDevil OpenGL shader debugger has recently been updated. Pretty cool (though maybe not so happy for content providers): you don’t even need the source code to debug into the shaders.
  • There is a new site dedicated to OpenCL and CUDA programming: gpucomputing.net. It is focused on university research efforts, and has some heavy-hitters in the research community involved. Just begun, not a lot there yet, but you could always subscribe to the blog.
  • Here’s a short little article on texture atlassing. If you want a bit more information, read Ivanov’s article on this topic on Gamasutra, published some years ago. For even more detail, NVIDIA’s white paper is helpful. My point: if you don’t know about texture atlassing, you should. Read one of these three and check it off your list.
  • Getting the X,Y coordinates of a pixel for a post-processing pass is typically done one of two ways: texture coordinates or using VPOS. This short article gives the details.
  • You’ll note the previous two entries came from the new blog/site gamerendering.com. There are plenty of other short articles here, most with code snippets or links to other sites. That said, I’ve asked the admin for a little more attribution of sources, e.g., the figure from our book here. Hopefully fixed by the time you see it…
  • This shader code is truly amazing (from easily my favorite graphics blog).

7 things for December 22

Some great bits have accumulated. Here they are:

  • I3D 2010 paper titles are up! Most “how would that work?!” type of title: “Stochastic Transparency”.
  • Eurographics 2010 paper titles are up! Most intriguing title: “Printed Patterns for Enhanced Shape Perception of Papercraft Models”.
  • An article in The Economist discusses how consumer technologies are being used by military forces. There are minor examples, like Xbox controllers being used to control robotic reconnaissance vehicles. I was interested to see that BAE Systems (a company that isn’t NVIDIA) talk about how using GPUs can replace other computing equipment for simulation at 1/100th the price. Of course, Iraq knew this 9 years ago.
  • I wish I had noticed this page a week ago, in time for Xmas (where X equals, nevermind): Christer Ericson’s recommended book page. I know of many of the titles, but hadn’t heard of The New Turing Omnibus before – this sounds like the perfect holiday gift for any budding computer science nerd, and something I think I’d enjoy, too. Aha, hmmm, wait, Amazon has two-day shipping… done!
  • A problem with the z-buffer, when used with a perspective view, is that the z-depths do not linearly correspond to actual world distances along the camera’s view direction. This article and this one (oh, and this is related) give ways to get back to this linear space. Why get the linear view-space depth? Two reasons immediately come to mind: proper computation of atmospheric effects, and edge detection due to z-depth changes for non-photorealistic rendering.
  • Wolfgang Engel (along with comments by others) has a great summary of order-independent transparency algorithms to date. I wonder when the day will come that we can store some number of layers per pixel without any concern about memory costs and access methods. Transparency is what kills algorithms like deferred shading, because all the layers are not there at the time when shading is resolved. Larrabee could have handled that… ah, well, someday.
  • Morgan McGuire has a paper on Ambient Occlusion Volumes (motto: shadow volumes for ambient light). I’ll be interested to see how this compares with Volumetric Obscurance in I3D 2010 (not up yet for download).

Amazon Stock Market update: one nice thing about having an Amazon Associates account is that prices at various dates are visible. The random walk that is Amazon’s pricing structure becomes apparent for our book: December 1st: $71.20, December 11-14: $75.65, December 18-22: $61.68. Discounted for the holidays? If so, Amazon’s marketing is aiming at a much different family demographic than I’m used to. “Oh, daddy, Principia Mathematica? How did you know? I’ve been wanting it for ever so long!”

Shader variations and ifdefs

Morgan McGuire’s page is the only twitter feed I follow (though Marc Laidlaw’s Trog Act Manly But is darn tempting), as he simply offers up worthwhile links on computer graphics and on game design. Strangely, though, some ideas cannot be expressed in 140 characters. So, here’s our first guest post, from Morgan:

When experimenting on a new algorithm, I have a zillion variations I’m testing packed into one shader and a lot of #ifdefs and helper functions to switch between them.  Often you need the invoking C++ code to line up, and I’m always forgetting to switch the routines in both the shaders and C++ to keep them in sync…

I just realized that I can put my #defines in a header and include the exact same header into HLSL, Cg, GLSL, CUDA, and C++ code, since they have exactly the same syntax.  So I now have both C++ and GLSL files that say #include “myoptions.h” at the top.  Cool!

(Ok, my GLSL infrastructure adds #include to the base spec, but I assume everyone else’s does too).

Amazon Needs Programmers, We Suspect

… at least judging from an email received by Phil Dutre which he passed on. Key excerpt follows:

Dear Amazon.com Customer,

As someone who has purchased or rated Real-Time Rendering by Tomas Moller, you might like to know that Online Interviews in Real Time will be released on December 1, 2009.  You can pre-order yours by following the link below.

With a title-finding algorithm of this quality, Amazon appears to be in need of more CS majors.

Don’t fret, by the way, I’ll be back to pointing out resources come the holidays; things are just a bit busy right now. In the meantime, you can contemplate Morgan McGuire’s gallery of real photos that appear to have rendering artifacts or look like computer graphics. It’s small right now – send him contributions!