SPU Shaders Introduction

9/12/07 - 17:00 PST - Posted by Mike Acton, Engine Director

In a previous post (Dynamic SPU Code) I hinted at something we’re calling “SPU Shaders”. Now that we’re fairly comfortable, as an engine team, with building systems for the SPUs we’ve been working on how to step things up for the next set of games. The key issues we’ve struggled with are:

  • Reducing the synchronization points between the PPU and the SPUs
  • Encouraging use of the SPUs by more systems
  • Keeping the SPU code and data design straightforward and fast
  • Moving toward our goal of getting all code running as asynchronously as possible.

Not only do I think SPU Shaders are going to help us accomplish these goals, but they will also make our systems more flexible. Out Gameplay programmers here are all about customizability and we definitely want to make sure that they have good solutions for adding those completely case-by-case touches that make Insomniac games what they are.

But still, it’s a very simple idea. Which is really the whole point.

Our first major system to make the transition to this new design style was igPhysics. In this introduction I’ll cover the basics of SPU Shaders and a little about how igPhysics was redesigned.

Download PDF File

[ 0 ]