GDC 2001 report


DirectX Developer Day


This was my first trip to GDC and even to the United States, so I was very pleased to go to California with two other guys for a few days. I haven't found the good medication to completely avoid being air sick yet, but I'm making progress :) (this was good news for me as the flight from Paris to San Francisco lasted more than 11 hours).

Some geographical facts, for people living outside the US like me : San Jose is California's 3rd - and the United States' 11th - largest city, is located 50 miles south San Francisco, and is known as the "Capital of Silicon Valley". GDC has been taking place there for several years because the town has a big conference center, and not for any culinary question (the food at GDC fills the stomach in, but is anything but tasty).

Some other general information before starting :

- the list of conferences, expo exhibitors, and so on, can be found at
- some conferences are becoming available in text or video format on But if you can it's probably better to get the proceedings (the big book), which covers a lot of (but not all) sessions.
- the weather was fine, compared to the one in France (lots of rain and floods when coming back). Temperature was great :)


An expo takes place parallel to the conferences. It's not very big, but most major hardware and middleware companies (3D engines, motion capture systems, graphics and programming tools, ...) come. It's the opportunity to meet people you only know by email (hi Ed ;) , and to see some new (?) technologies. Here is a very subjective list of things I noticed (and remembered when taking notes in the hotel) :

- nVidia : GeForce3 demos running on every screen, the most beautiful being probably the one showing a chameleon (it seems to be their new logo by the way). There are thousands of faces, the animal is skinned, lighted and bumpmapped (pixel shader) in every direction, without slowing down.

- Intel : very pretty demo of the 'Giants' game on Pentium4, but I don't know what graphics card was in the box nor if this version adds some specific improvements. There was a new demo of the Unreal II engine too, some kind of very detailed (but small sized) marsh, with reflections everywhere, here are some screenshots :

- ATI : same usual demo ("Ark") of the Radeon.

- Criterion Software : some good demos of Renderware on PS2.

- NDL : NetImmerse 4 beta version on Xbox, and a karting game by Microids.

- Havok : same demos as usual, plus a walking / running / jumping character whose clothes change shape to follow the moves (a bit better than in Nocturne imho, but there's no game running in the background, so...)

- THE ATTRACTION of the expo was on the Gamespy booth : the famous Quake3 professional female player Kornelia was giving a lesson (and then a handshake and a lollipop) to those who were brave enough to accept the challenge : try to frag her once (only once) in a 1 to 1 deathmatch, before she scores 6 points or the 6 minutes time limit is hit, and win a shirt. In the middle of the second day her score was 120-0 matches, and 715-15 frags, it's very impressive ! The level is q3tourney2, she plays without the lightmaps and with simple items on (on a very good computer, 140 fps), mostly uses the lightning gun, and there's no cheating, you can train for next time ! (I give you one hint : she's left-handed ;) For those who are asking themselves : no, I didn't have the time to wait for my turn between two conferences, but honestly I should have been very lucky to shoot her (it would be easier for me if she was a terrorist in Counter Strike). And yes, she's quite cute :)


GDC is not a games expo (don't confuse with E3 in May), and the only place where one could see some development companies was the job fair. Even there there weren't may things to watch, the only interesting demo I noticed was the one from Oddworld Inhabitants of their game Munch's Oddysee (an Xbox title) : a looping succession of quite long sequences of the game, possibly played in real time by the engine. It's very attractive, the game seems interesting, and sometimes there are a lot of characters on the screen.

Before a conference I also saw a very long introduction of Halo (by Bungie), on a beautiful notebook, and it looked impressive.

The only games that were really exposed are in fact the ones of the Independent Games Festival : the 10 finalists were shown by the people who made them and are generally looking for a publisher, to remember last year's winner The Rift was finally edited by Microids under the title Far Gate. Competition results, demos and contacts are available at

DirectX Developer Day

There was a day organized by Microsoft concerning DirectX 8 programming, to convince anybody (who was not already) to use shaders. For those who don't know shaders are short programs written in an assembler-like language (but without loops or jump instructions), that the graphics card is going to execute for each 3D point sent to it (vertex shader), or for each pixel it needs to render (pixel shader). The goal of this system is to give the coder maximum control of the TnL (Transform & Lighting) pipeline, that is to allow him/her to do his/her own skinning, morphing, bump or environment mapping, and lots of other effects (the benefit is here : effects are no longer limited to those planned by hardware manufacturers).

two shaders examples (no no, it's not the textures that are like that !)

The major difference with last year's WGDC (June 2000) is that there is now a card (the GeForce3) really supporting this capability in hardware, and demos showing what can be done with shaders. I think the goal is reached : everybody is now convinced having this additional flexibility is great, demos look unbelievable, especially the ones shown in the morning : a sequence (from Max Payne ?) very close to the one from Matrix when Neo and Trinity enter the building to rescue Morpheus, and above all the part of the 3DMark2001 with a river, trees moving in the wind, and butterflies : this one is breathtaking !

An export plugin and a viewer are available for 3DS Max 4 in order to preview the result of shaders, but I don't know exactly how the artists can use them; I had the impression that the coder needs to implement the shaders first, and then the artist can load the one he wants in the viewer, and apply it to the object he likes.

To be totally accurate, this day was not completely reserved to shaders; there was a short session on D3DX too, and another one concerning Windows XP (formerly Whistler), platform expected by the end of the year and recommanded for developing : DirectX 8.1 is going to be available on this one before the others, which is perhaps a way to encourage us to upgrade :(

DirectX Developer Day's slides are available at


There are several types of conferences : lectures (one or sometimes two persons speak about a given subject, eventually with a demo of their work in the field, and then answer questions), roundtables (a moderator - like in newsgroups - starts the discussion or makes it go forward but everybody can participate and share his/her experience), and keynotes (the speaker is here to deliver some kind of message). For example I attended the keynote (or should I say the show) related to the Xbox, it was very funny but in fact disappointing : no unknown news, and above all no demo of the future launch titles that were already shown at Gamestock :( We only saw 3 demos of shaders (fur, grass, and another one I've forgotten), and a short demo of Inevitable (see below) [pretty one, but not very interesting since it was as usual a big single object with a lot of faces, lighted by some lights, without the real constraints of a game - world management, many objects, collisions, and so on... Anyway it's not bad, there are really a lot of faces].

I tried a roundtable too, which subject was : going from the PC to consoles. To sum up, the main "new" pitfalls to deal with are memory management (memory is tight, and tends to fragment), resources (more preprocessing is needed to avoid long CD seeks, and there are additional limitations in the number of files / directories / tree depth), development tools (they're "younger" and therefore buggy), display quality (TV), and the approval process.

I attended 10 lectures, most of them given by "known" people for those who read computer books or go to programming websites regularly. To sum up :

- I've heard a lot of things related to vertex shaders, and less to pixel shaders. Why ? Because vertex shaders can be used without a GeForce3 (they're emulated by the processor, and optimized for P3/P4 SSE instructions), under DirectX 8 or OpenGL (there are extensions by each manufacturer). On the other side, there's no such choice regarding pixel shaders : a GeForce3 and DX8 are needed at the time being.

- real time shadows : there's nothing new with respect to the book Real Time Rendering (the conference was presented by its authors), except a particular case I had never heard about when using the stencil buffer method (this case was mentioned by Mark Kilgard too).

- optimizing for TnL hardware : share as many buffers as possible (big and static prefered), don't use CLod, fight against overdraw (with portals) and renderstates changes, pre-sort faces in order to maximize cache access. Very interesting conference by John Ratcliff, followed by a demo of the game he's working on, called PlanetSide) : I can tell you that it really kicks ass ! Grass and trees especially look awesome, and they're present everywhere (OK, buildings are not bad too).

this is nothing compared to when it moves

- displacement mapping : consists in adding some detail from a texture, by creating geometry (unlike bump mapping, that only modifies lighting). Imagine 2 poor triangles : the closer to the camera you move them, the more subdivided (= cut in many small faces) they are, and finally they make a landscape. Of course you can't use a too low resolution (= replace the landscape with the two flat triangles), it's always necessary to have a certain number of faces for the landscape to be smooth, but the key point is that it's really saved as two triangles in the file (what a compression ratio !). All right, creating a heightfield from a texture is nothing revolutionary, but the guys from Matrox do it in real time (with geomorphing and the like) thanks to a vertex shader, and they really gave the impression that they want to do it in hardware on their next product.

I don't want to enter the details of conferences that often require a strong mathematical background (volumetric fog, subdivision surfaces...), so that's enough for this time. To finish I just want to say 'hello' to the guys (Jcab, Jason, and others) who took some time to talk with me despite my terrible French accent, some of them were attracted by my 3 beautiful Buffy shirts, I think I will use the same trick next time :)

back to top