Author Archives: Eric

Larrabee

Solid information about Intel’s new Larrabee architecture came out a few days ago, the Level of Detail blog has a good set of links. The major news is that Intel’s SIGGRAPH paper is now available for download from ACM’s Digital Library. Unfortunately, not everyone has access to this site’s resources (it costs money to subscribe). My contribution to the cause:

http://softwarecommunity.intel.com/UserFiles/en-us/File/larrabee_manycore.pdf

Thanks to Tom Forsyth for the link.

I’m excited by Larrabee not because of any particular technical feature (though I’m entirely savoring the paper itself, reading two pages a day at lunch), but rather by the fact that it opens up a whole new ecosystem for implementing graphics algorithms. Regardless of whether Larrabee wins or loses in the long-run, it will have a huge effect in increasing our knowledge by helping us explore different hardware and software designs for rendering.

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).

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.