Utilities

Three events have got me thinking about utilities: Christer Ericson’s post, getting a Mac laptop, and sending my older son off to college (to Northeastern, in Computer Science – not my doing, he just liked his high school courses in programming). There are tons of useful utilities, from file searchers to spyware detectors to sound editors, and plenty of pages covering these. Many I use, such as FileZilla, Picasa, MWSnap, GIMP. Some I’m undecided on, such as IrfanView vs. XnView for quick image viewing (XnView is currently winning, but what I really want is trivial individual pixel examination built in – just tell me the RGB(A) that the mouse is over and I’ll be happy forever). Update: XnView wins! Going to the View menu, Display Colour Information can be toggled on, doing exactly what I wanted. That said, see the Comments below; now I have another one to try out, ddsview.

However, three stand out as just plain great, that everyone should know about:

  • Beyond Compare 3: compares files, that’s it. I’d been using version 2 for years; 3’s seriously better, and I’m happy to pay for the upgrade. I’ve found that which “diff” program is best is a matter of religious debate among programmers. Most of us have a favorite and can’t understand why anyone would use anything else. Anyway, this is my choice – compare files or folders, copy differences from one to another, easily edit either file, create reports, compare images (though this feature needs more oomph), plus a great try-before-you-buy policy: 30 days of use before it expires, not 30 days from first use.
  • Dropbox: This is my new best friend. For a number of reasons, I found myself often moving files between various machines via a USB flash drive. Slow, and a giant pain. Dropbox makes life easy for this and 58 other tasks. Install it, create an account, and there’s now a folder on your machine. Install it on other machines. Now when you move a file to this folder, the file is automatically uploaded to their server, then downloaded to all your other machines, almost immediately available on them. You can also put files in a Public subfolder and right-click to get an URL for this file, allowing you to serve up files to the web – extremely easy to do, beats manually FTPing, and you get 2 Gigs of storage free. You can also make private folders that can be shared with others of your choosing over the web. My latest use is putting my bookmarks HTML file into dropbox and pointing all my browsers on all my computers to it – update the file in one place and every machine then uses it automatically. Lovely. One caveat: when you move a file to your dropbox folder, by default you’re really moving it, since the folder’s local – delete it from any machine and it’s gone (well, recycled, but only on that machine). I tend to copy files instead, to avoid surprises.
  • Windirstat (Disk Inventory X on the Mac): This free utility does a great job showing you what’s taking up all that disk space. One key bit of info, that’s not obvious from the interface: almost everything in the window can be clicked (and right-clicked) on, giving still more information. Plus, it’s the only utility in its class with Phong shading (I knew I could tie this post to graphics somehow).

JGT is now the Journal of Graphics, GPU, and Game Tools

The name change for the journal formerly known as Journal of Graphics Tools was announced today.  This does not reflect a change in focus; rather, the new name more accurately reflects the existing focus of the journal.  The Journal of Graphics Tools was originally conceived as an ongoing successor to the Graphics Gems book series, and it has since been a great place for practical “nuggets” of graphics tech.  Many of the best articles were also collected in a recent book.

I recommend subscribing to this journal, but contributing to it is even better.  JGT is an excellent choice for any game developer who would like to publish a bit of tech they have created; while it is a fully peer-reviewed and citable publication, the focus is squarely on practical applications.  Authors are not expected to spend a lot of time writing up previous research, summary, conclusion, future work, etc.  For more information see the online author’s guide.

In the interests of full disclosure, I should note that all three authors of Real-Time Rendering are on the JGT editorial board.

More Statistics

One followup to Naty’s article (below): Ke-Sen Huang’s page has submission and acceptance stats for many recent conferences.

If you have five minutes to kill, it’s fun to search on various phrases at the Google Trends site. Buzzwords like “cloud computing” have trackable data, but most graphics terms don’t have enough traffic to be worth recording. Here are some examples of graphics-related terms that have sufficient hit-counts:

  • Ray Tracing – I like how Google Trends points out relevant articles for various spikes.
  • SSAO – some definite spikes there, and what’s with all the traffic from Brazil? Is this the end of some word in Portugese? But there aren’t really hits before 2007, so I guess it’s real…
  • Collision detection, SIGGRAPH, and computer graphics – is interest in these areas waning, or are they simply established and not newsworthy? But then, GPU is going up.
  • Companies and products are fun to try: Larrabee, NVIDIA, Crytek.
  • You can also compare various terms. Here’s “DirectX programming, OpenGL programming, iPhone programming“. Pretty easy to guess which one is going up. Surprisingly un-spikey for DirectX and OpenGL.
  • And of course, Real-Time Rendering – Various random spikes; South Korea loves us.
Happy hunting, and please do comment if you find any interesting results.

Graphics Conference Paper Acceptance Statistics

I recently ran across this link to acceptance rates for papers in graphics conferences.  The SIGGRAPH chart has some missing years (including the first four), presumably because data was not available.  Graphing the trends yields some interesting information:

Excluding years before 1985 (when the conference was still “finding its legs” and acceptance rates were very high), the acceptance rate has hovered between 14.9% (1998) and 23.7% (2007).  The long-term trend appears to be that the acceptance rate is flat, and the number of submitted and accepted papers steadily increase.  In the shorter term, submitted papers appear to be flat or even declining after 2003, with accepted papers following suit (2009 has the lowest number of accepted papers since 2002).  I’m not sure why that is; a 2003 flattening seems too late to be attributable to the dot-com collapse and too early to be related to the big graphics conference restructuring of 2008 (where Eurographics was moved to spring and SIGGRAPH Asia was introduced).  If anyone has a good guess, please leave a comment.

I didn’t bother graphing the other conferences.  The Eurographics table only has information from 1998 (the conference has existed since 1979, only five years less than SIGGRAPH).  From 2002 on the acceptance rate has been similar to SIGGRAPH (before that it was significantly higher).  The I3D table is pretty complete; it shows consistently high acceptance rates, between 25% (1999) and 42% (2008).  Graphics Interface and EGSR (EGWR in earlier years) have similarly high acceptance rates.

ShaderX7

ShaderX7 has been out for a few months now, but due to its size (at 773 pages, it is by far the largest of the series) I haven’t been able to finish going through it until recently.  Here are the chapters I found most interesting (click the link for the rest of this post): Continue reading

EGSR and HPG 2009 papers

Ke-Sen Huang has what looks like the full lists of papers for both HPG 2009 and EGSR 2009.  Both of these lists are only available on Ke-Sen’s site at the moment; presumably they will appear on the HPG and EGSR websites soon.  I have had high hopes for these conferences, especially given the somewhat disappointing real-time content of the SIGGRAPH 2009 papers program.  EGSR has historically had some good real-time stuff in it, and the new HPG (High-Performance Graphics) conference has a highly relevant area of focus.  So how do the paper lists stack up?

EGSR 2009 has a bunch of potentially interesting papers, including some on GPU-accelerated ray-tracing and photon mapping.  Some have intriguing titles (but no other information, so it’s hard to guess how relevant they are): Fast Global Illumination on Dynamic Height Fields, Efficient and Accurate Rendering of Complex Light Sources.  One paper I found particularly interesting is Hierarchical Image-Space Radiosity for Interactive Global Illumination (available here):  This paper extends an I3D 2009 paper (Multiresolution Splatting for Indirect Illumination) which described an “Instant Radiosity”-type approach (using lots of point light sources to simulate indirect bounces), rendering into a pyramid of frame buffers at different resolutions.  The pyramid was finally collapsed into a single frame buffer to generate the final frame.  I found the multiresolution rendering approach interesting, but the implementation was very slow.  The EGSR 2009 paper speeds this part of the algorithm up significantly, and adds some other extensions and improvements.  I wouldn’t run off and implement this paper into a game engine (it has some significant limitations, and is not nearly fast enough on current hardware), but it does suggest some interesting research directions.

What about HPG 2009, the new kid on the block?  Given the partial descent of this conference from the Interactive Ray-Tracing symposium, one would expect a fair bit of ray-tracing-related papers, but there aren’t that many: out of 21 papers, 4 papers explicitly mention ray-tracing, and 3 more deal with dynamic construction of bounding volume hierarchies (a particular concern of ray-tracing algorithms).  Many of the remaining papers deal with other (and to my mind, more interesting) rendering algorithms.  Data-Parallel Rasterization of Micropolygons With Defocus and Motion Blur appears to describe an algorithm similar to REYES (which powers Pixar’s Renderman).  There are two papers on image space techniques (Hardware-Accelerated Global Illumination by Image Space Photon Mapping and Image Space Gathering), which is a “hot” area right now following the popularity of SSAO and related techniques.  There are two papers relating to the important topic of antialiasing (A Directionally Adaptive Edge Anti-Aliasing Filter and Morphological Antialiasing).  One paper (Stream Compaction for Deferred Shading) relates to deferred shading, which is also a “hot” topic in game rendering at the moment.

I look forward to the preprints becoming available, so we can see if these papers live up to the promise of their titles (anmd perhaps discover some surprises among the more ambiguously-titled papers).

Bits of News

Just some quick bits to chew on for breakfast:

  • Microsoft announced Project Natal at E3; the (simulated) video is entertaining. Lionhead Studios’ demo is also worth a look. Somehow a little creepy, and I suspect in practice there’s a high likelihood that a user will quickly run off the rails and not do what’s expected, but still. Considering how limited the Eye Toy is compared to its hype, I’m not holding my breath, but it’s interesting to know & think about. (thanks to Adam Felt for the link)
  • New book out, Graphics Shaders: Theory and Practice. It’s about GLSL, you can find the Table of Contents and other front matter at the book’s site (look to the right side). I hope to get a copy and give a review at some point.
  • I mentioned Mark Haigh-Hutchinson’s Real-Time Cameras book in an earlier post. The, honestly, touching story of its history is republished on Mark DeLoura’s blog at Gamasutra.
  • Nice history of graphics cards, with many pictures.
  • Humus describes a clever particle rendering optimization technique (update), and provides a utility. Basically, make the polygon fit the visible part of the particle to save on fill rate. One of those ideas that I suspect many of us have wondered if it’s worth doing. It is, and it’s great to have someone actually test it out and publish the results.
  • This is an interesting concept: with an NVIDIA card and their new driver you can now turn on ambient occlusion for 22 games that don’t actually use this technique in their shipped shaders. In itself, this feature is a minor plus, but brings up all sorts of questions, such as buying into a particular brand to improve quality, who controls and who can modify the artistic look of a game, etc. (thanks to Mauricio Vives for the link)
  • Old, but if you haven’t seen it before, it’s a must: transparent screens.

Deferred lighting approaches

In Section 7.9.2 of Real-Time Rendering, we discussed deferred rendering approaches, including “partially-deferred” methods where some subset of shader properties are written to buffers.  Since publication, a particular type of partially-deferred method has gained some popularity.  There are a few different variants of this approach that are worth discussing; more details “under the fold”.

Continue reading

Game Engine Gems CFP

As I mentioned in a previous post, Eric Lengyel is heading up a new project, a book series called “Game Engine Gems”. It turns out that we ran across the website before it was announced (moral: there’s no hiding on the internet). He’s sent out an official call for papers today – see the book’s website for basic information.

I’m posting today to mention a few dates not currently shown on the website (though I expect this will change soon):

  • August 1 – Final day to submit article proposals
  • August 15 – Authors notified of acceptance
  • October 15 – Final day to submit completed articles

Contact Eric for more information.