github twitter email

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

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 industry slowly moving from Mode 13h (320x200x8bit color) to higher resolutions and color bit depths, and dealing with the massive increase in memory bus traffic that ensued.

The work was developed for Iron John Hawk: The Shards of Power, the campy action game that was my introduction to the industry.


I presented a technique involving span buffers, borrowing from Michael Abrash’s historic Quake renderer presentation the prior year. Span buffers are well 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, so feedback was mixed.

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 early time.

Download True Color Graphics in High Resolution

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. A video of the presentation can be found at The Internet Archive.

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.


Download SIGGRAPH 2014 Tessellation in Call of Duty: Ghosts