github mastodon email

In the course of my 1/1/1996 year career, I’ve given several presentations at industry conferences.

CGDC ‘98

The first was in Spring of 1998, and I was 19 years old. I submitted and was accepted to present True Color Graphics Programming in High Resolutions at the Computer Game Developers Conference in San Jose, CA.

The background was a PC games industry shifting from Mode 13h (320x200x8bit color) to higher resolutions and color bit depths, and dealing with the massive increase in memory bus traffic that ensued, and I felt we were one of the pioneers to move to higher resolutions and higher bit depths.

The work was developed for Iron John Hawk: The Shards of Power, the campy action game that was my first shipped game, a commercial flop, and a fantastic intro to the games industry.

I presented a technique involving span buffers, borrowing from Michael Abrash’s historic Quake renderer presentation the prior year. Span buffers seemed suited to high resolution rendering as each pixel is written only once, even when large sprites overlap.

Ultimately I felt my presentation contained novel work, but I didn’t give myself sufficient time to prepare the talk, and the industry focus had largely shifted to 3D.

Sony DevCon 2007

The second was in 2007, a SpiderMan 3 Post Mortem at Sony’s private PlayStation 3 developer conference.

The PS3 had just launched, and we were one of the first developers with two titles under our belt. Call of Duty 3 and SpiderMan 3 were developed simultaneously at Treyarch and launched in quick succession. The games were built using NGL, the graphics library of which I was principal architect, and I had spent time fighting fires on both of them.

This presentation was very well received, and I still occasionally meet people who watched it and were impressed by how advanced our technology was at that time. Two of the tools I developed for these games, the GPU and CPU profilers, are still in production use as of 2023.

Microsoft GameFest 2010

The third was at another hardware vendor’s private conference, this time Microsoft.

The title was Stripped Down Direct3D: Xbox 360 Command Buffer and Resource Management.

Writing this felt a little scandalous as the subject matter involves circumventing Microsoft’s official Xbox APIs, but I was invited to give the talk by a friend and former co-worker at Treyarch, David Cook. Later, at an internal presentation of the same material, “Stripped Down” was replaced with “Hacking”.


The fourth was technically two presentations with the same content.

In Fall 2014 we had just shipped Call of Duty: Ghosts, in close partnership with NVIDIA on the PC SKU.

As NVIDIA was organizing the graphics tutorial session at the Game Developer’s Conference that year, they invited me to talk about some of the work we had done together. I chose to focus on our use of tessellation hardware in modern GPUs, which is sometimes lambasted (not entirely unfairly) as a waste of silicon.

Around the same time, Natasha Tatarchuk of Bungie asked if I had anything to present at SIGGRAPH 2014, and I offered up my tessellation talk, titled Tessellation in Call of Duty: Ghosts.

This presentation was implemented as a custom “level” inside the Call of Duty engine, with PowerPoint-like slides as posters on the wall and special code added to demonstrate various features.

It took about a month to prepare, but this effort was mitigated by being able to give it at two conferences. As SIGGRAPH took place later in the year, I had time to add additional content, so the notes linked above are from that conference.

The highlight of the presentation was that David G Yu of Pixar attended, and invited me to repeat it at Pixar’s office later in the week! Visiting their campus was a memorable experience.


Slides and a video of the GDC presentation can be found at The Internet Archive. Cute piece of trivia: Michael Vance is controlling the game during the presentation.