Monthly Archives: July 2008

Community-built games on Xbox 360

Many of our readers are not professional game developers, but do graphics or game programming as a hobby or as part of their academic research. Microsoft’s XNA Game Studio is interesting since it allows free development of Xbox 360 games. To be precise, although the software is free, Xbox 360 development does require a $99/year premium membership – still a bargain compared to the many thousands of dollars required for a professional console development kit. However, the resulting games could only be played by other people with premium memberships – not exactly a mass market.

This week, at Gamefest, Microsoft announced that these “homebrew” games could now be sold to Xbox 360 owners in general. Interestingly, the games will not be selected by Microsoft themselves (although I am sure they will do some gatekeeping) but by the community (similarly to the selection of posts at Digg or Slashdot).

If you are a game or graphics hobbyist who is intrigued by the idea of creating games to sell to almost 12 million Xbox 360 owners, then check out Microsoft’s XNA Creators Club website.

TrueSpace Free, iPhone/iPod engines, Cache misses

So you want to play with a 3D modeler, or want to teach a class using one, but have zero budget. TrueSpace is now free. This is pretty darn wonderful; TrueSpace has been around approximately forever – I once wrote an exporter from the Trispectives modeler to its file format back in 1994 – and has grown in capabilities over the years.

The Torque game engine is now available for making games on the iPhone. The licensing terms are of the “email us and we’ll tell you” type, but the standard Torque engine is ridiculously affordable for indie game developers at $150, including all source, etc. If you spent all your spare money on an iPhone, oolong is a free engine for games on the iPhone/iPod, originated by Wolfgang Engel and Erwin Coumans, along with assets from PowerVR – it even has a physics engine.

There’s an interesting performance post on cache misses from Dave Moore. Dave Eberly told me a related tale recently: “I am the PS3 programmer.  I spent a lot of time trying to write code to avoid branching, to remove load-hit-stores, and to avoid cache misses. For example, our physics programmer decided that if one function in a class is virtual, then make them all virtual.  He did not realize that a look-up in the virtual function table invariably causes a cache miss.  Make a lot of function calls (like physics systems tend to do), and now you have a serious performance problem.  I removed all the unnecessary virtual modifiers and reduced frame time by 5 milliseconds.  When your goal is 30 fps (33 millisecond frame time), 5 ms is significant.”

Amazon discount, SIGGRAPH booth time

The book’s not quite shipping yet, but at this point Amazon has it heavily discounted, 33% off. I’m happy about this, as it makes the book cheaper than the second edition, which wasn’t discounted at all by Amazon until recent years. The weird bit is that this discount was available a few weeks back, then was gone when I checked last weekend. Someone let me know today that it’s back, and I just ordered an extra copy (this discount is higher than my author’s discount at AK Peters). I’ve noticed a strong correlation between the discount’s availability and the humidity in Flagstaff multiplied by the average hourly meteor siting rate in Anchorage. In other words, I have no clue when someone will wake up at Amazon and realize they’re paying more for the book than they’re selling it for (it’s true: my publisher said so).

While I’m thinking of it: Naty and I will be at the AK Peters’ booth at SIGGRAPH from 12:30 to 1:30 pm on Wednesday.

Command buffers, JGT online, workstation cards charts

Vincent Scheib discusses how to implement command buffers (essentially, OpenGL display lists) on DirectX 9 and 10. He notes that DirectX 11 will have display list support in the API, but if you don’t want to wait 4+ years for general adoption of that API, consider Emergent’s method. By having various threads generate command buffers and a single thread executing these, they are able to take advantage of multiple cores. On a dual core they show x1.4 to x1.9 speedup with multiple threads. Best of all, they provide open source for their system, with a very liberal license.

I am happy to see that PDFs of articles in recent issues of the journal of graphics tools are now available online, free to current subscribers.

I’ll be adding this one to the portal and resources page: sets of charts listing the capabilities of professional graphics cards.

Giant displays, better division, NPR, and NVIDIA

In wading through my bookmark collection, there were a few sites that I felt were appropriate for the blog but not the resources pages. Basically, interesting tidbits, but not worth the (semi-)permanence of the website’s other pages.

First, Naty pointed out that NPR is used in the next Prince of Persia. Interesting style, and I look forward to seeing how well it animates. Update: Mikkel Gjøl at Zero Point Software pointed out that, with E3 just having happened, game trailers galore have come out, including an animated trailer for Prince of Persia.

I was trying to find what are the largest (highest resolution) commercial, or at least public, display systems available. Two I found: someone’s flight simulator setup, and the Zenview Command Center Elite. If you know of larger, please say so. Coolest death-star-related display system was easily The Emperor.

Tidbit: Intel division is still slow, but will someday be twice as fast.

There’s a quick little article in Forbes on NVIDIA. You already know 80% of it, but there are some new bits. Huang’s education at a reform school is a classic tale (though Wired’s piece is a little more detailed).

OK, my queue is now cleared!

Whew, done!

I just finished culling through about 200 sites and folding most into the resources and portal pages. I stored these up on del.icio.us over the past two years while writing the new edition; now they’re in (or deleted – amazing how quickly some of these sites go away).

The references page is also corrected, as some links and whatnot were dropped by my original perl script. We try to not repeat any articles listed here on the resources and portal pages, which is in one way unfortunate. Really, the references are the bulk of the serious resources.

I now feel like the site is officially open; please do send on any great resources that we’re missing (or just put them in the comments here).

Graphics conference roundup

After taking another look at my recent post on 2008 conferences, I thought I would give some context on the various graphics conferences for people who are not familiar with them.

There are a handful of large, international conferences which cover the entire field of computer graphics:

  • The SIGGRAPH annual conference (technically the “International Conference on Computer Graphics and Interactive Techniques”) is the great-granddaddy of graphics conferences. It’s been around since 1974, and is by far the largest conference devoted to graphics. It has historically been attended mostly by academics and people working in film production, and most papers are not about real-time techniques. In recent years the conference has been making an effort to attract more attendees and speakers from the game industry. The quality of the papers tends to be quite high, and many of them are relevant, even the ones discussing offline techniques often have interesting stuff in them. Besides the papers, there are also courses (called “classes” this year) which are very good. In particular, the excellent (but somewhat verbosely-named) “Advances in Real-Time Rendering in 3D Graphics and Games” class has been presented for the last few years and has very good and relevant presentations from leading real-time graphics practitioners. Many of the classes on film production rendering techniques also have a surprisingly large amount of material relevant for real-time rendering. The Computer Animation Festival (which has this year been expanded to a full-scale film festival) showcases the best CG of the year and is always fun to watch. Although SIGGRAPH has so far always been held in the continental United States (often alternating between west coast and non-west coast locations), in 2011 it will be held in Vancouver, British Columbia.
  • SIGGRAPH Asia is a new arrival on the scene, being held for the first time this year. It is held in winter and is intended be one of three main “tripod” graphics conferences (with the North American SIGGRAPH conference in the summer, and the Eurographics conference newly moved to the spring). Spreading them evenly throughout the year in this way can enable researchers to submit work when it is ready and not wait for the SIGGRAPH submission deadline – or at least such is the theory. In the past, the existence of other conferences did not prevent most researchers from submitting their work to SIGGRAPH first, but perhaps this will change.
  • The annual Eurographics conference is the third “major graphics conference”. As its name would suggest, it is held in Europe every year, usually in beautiful locations such as Vienna, Prague, and Crete. The quality of the papers is usually quite high, though it also tends to have mostly non-real-time papers (perhaps even more so than SIGGRAPH).
  • Computer Graphics International is smaller than the preceding three. It is sponsored by the Computer Graphics Society (CGS).

There are also several regional graphics conferences:

  • Graphics Interface is the largest and oldest of these (it is roughly as old as the SIGGRAPH annual conference, and indeed claims to be “the oldest continuously-scheduled conference in the field”). It has always been held in Canada. It tends to have a strong HCI (Human-Computer Interaction) component, as well as some good real-time rendering papers.
  • Pacific Graphics (more properly “The Pacific Conference on Computer Graphics and Applications”) has been held in locations such as Tokyo, Taipei, Maui, and Macao. The papers are typically of high quality, and have included some important real-time rendering papers. It will be interesting to see how Pacific Graphics fares now that SIGGRAPH Asia has arrived on the scene.
  • WSCG is a Central European graphics conference. It has had some interesting real-time papers. Unlike the other conferences, the full proceedings of WSCG are freely available.
  • The Spring Conference on Computer Graphics is another Central European graphics conference.
  • SIBGRAPI has been held in Brazil for the past 20 years.
  • AFRIGRAPH is another relatively recent regional conference. It has been held in Cape Town, South Africa since 2001.

Besides the generic graphics conferences, there are many conferences focusing on specific subfields of graphics. The ones of most interest to real-time rendering practitioners and researchers are:

  • EGSR (“Eurographics Symposium on Rendering”) is a relatively large conference focused on all aspects of rendering, both offline and real-time. Some of the most important real-time rendering papers have been published through this conference.
  • I3D (“Symposium on Interactive 3D Graphics and Games”) has been around for about twenty years, although it has been an annual conference only for the past few years (and has added the “and Games” part of its title more recently still). I’ve attended it twice, it is a nice, small conference. The papers are a mix of HCI and real-time rendering papers, some of which have been quite important to the field.
  • Graphics Hardware (more properly, the SIGGRAPH/Eurographics Conference on Graphics Hardware) alternates between the USA (where it is co-located with SIGGRAPH) and Europe (where it used to be co-located with Eurographics – since Eurographics was moved to the spring it has been co-located with EGSR). In theory, the papers there should only be of interest to people designing graphics hardware but in practice many of the papers are of great interest to people writing software as well.
  • Like Graphics Hardware, the Symposium on Computer Animation is also held jointly by SIGGRAPH and Eurographics. It similarly alternates between the USA and Europe. Although technically not a rendering conference, the field of computer animation is in practice strongly linked to rendering (in particular real-time rendering) so it is of interest.
  • NPAR (or “Symposium on Non-Photorealistic Animation and Rendering”) is another joint SIGGRAPH/Eurographics conference. It is devoted to the rapidly growing field of non-photorealistic or stylized rendering. The first few conferences were held in Annecy, France but it was held in San Diego in 2007 and seems likely to alternate from now on.
  • Although the Symposium on Geometry Processing is also a joint effort between SIGGRAPH and Eurographics, it has only been held in Europe so far. Geometry processing is another topic which is strongly linked to rendering.
  • For the past three years the fast-growing field of interactive ray tracing has had its own conference, IRT (or “Symposium on Interactive Ray Tracing”). It is jointly held by IEEE and Eurographics, and alternates between the USA and Europe.

GDC (or “Game Developers Conference”) is another conference of interest to real-time rendering practitioners. Unlike the previously mentioned conferences, which are run by nonprofit professional organizations like ACM, IEEE, and Eurographics, GDC is run by Think Services, which is a for-profit corporation. It is really more like a trade show than an academic conference, and the presentations do not undergo a strict peer-review process. Much of the material relates to non-graphics topics like gameplay and audio design. Nevertheless, there is much interesting material on real-time rendering presented there by game and graphics hardware developers. Although GDC is held in San Francisco, the GDC brand has recently expanded to cover conferences in Texas, China, and France.

Anyone interested in the field of real-time rendering would be well-advised to attend one of these conferences if possible. If not, the printed proceedings can be purchased for reasonable prices and most are available through various digital libraries. Better still, many of the papers (as well as class notes and other materials) can be found on the web for free – Ke-Sen Huang’s excellent homepage makes for a good starting point.

ShaderX^2 books available for free download

Wolfgang Engel (editor in chief of the ShaderX series) kindly sent me copies of the two ShaderX^2 books last year, so that I could read through them and reference useful articles in writing the third edition of Real-Time Rendering (RTR3). He also provided us with the contents of the then-unpublished ShaderX^6 – he was a huge help in making RTR3 up-to-date.

While writing, I learnt that Wolfgang was willing to release the ShaderX^2 books electronically for free. However, he was advised by the publisher to check with the authors to see if they had any reservations. I like these books; some of the articles are dated, but there’s still solid material in many that should be made widely available. Also, I hated referencing articles in RTR3 that few people could actually go look up. Finally, I found that the PDFs of these two books were already being distributed illegally through a torrent. It struck me as unreasonable that the two ways to obtain these out-of-print books was through illegal downloading or through rather exorbitant prices in used-book markets (currently the prices are down in the $30 range; at one point last year the lowest price I saw for one of the books was $100).

Wolfgang didn’t have the time this Spring to gather permissions (he was busy at the time with GTA IV and other projects), and I wanted to begin to repay him for all his help. So, I spent some time these past two months getting permission release forms signed for the ShaderX^2 books. 66 article clearances later, I’m done! There were no objections from the authors, usually just the opposite, so the books are now generously being hosted for free download by gamedev.net:

ShaderX2: Introduction & Tutorials with DirectX 9

ShaderX2: Shader Programming Tips and Tricks with DirectX 9

The books are “ancient”, four years old, but there is some great material in them. Greg James’ article about rendering thick volumes has been cited by a number of later papers. I particularly enjoyed the articles by Mitchell et al. and Ansari in the Image Space section, as I love post-processing effects. They present lots of code snippets alongside solid theory. Which reminds me, we should also work on putting the CD-ROM’s contents up on the web – next task.

Also, the first ShaderX book has also been cleared for free download. Wolfgang is digging through his archives for a PDF version of this book, and I hope it will be available soon. In the meantime, all of the articles from authors at ATI (at the time) are available on the AMD/ATI website.

Update: see the ShaderX Books page at the ACM TOG site for a link to the first book and other related free resources.

Papers from 2008 conferences

One extremely valuable resource mentioned in our portal page is Ke-Sen Huang’s lists of paper preprints from recent conferences. In the last two months, a whole bunch of these have popped up for this year’s conferences. The most relevant of these are:

Some of the other conferences listed on Ke-Sen’s central page deal with topics, such as animation or geometry processing, which may also be of interest. In general, conferences such as these are fertile ground for finding cool and useful new ideas (along with some wildly impractical ones!).