I've never been a graphics programmer; anybody who's seen my UIs knows that this is not one of my strong points. I can open windows, show buttons and menus, do the basic stuff, and I have a particular fondness for UIs that do mapping, but I've never even begun to write true 3D graphics code (though I have several books on my shelf that I really will read one of these days...)
So it's hard for me to know what to learn from this presentation, but it seemed like the essence of the presentation was:
- Low-level GPU programming was necessary when general purpose CPUs were insufficiently powerful.
- But modern multi-core CPUs are providing vast amounts of surplus general-purpose computing power.
- And in principle it should be easier to program for the general-purpose CPU than for the special GPU hardware, which is important because programmer productivity is the limiting factor here.
- So perhaps game developers can reasonably consider whether the near-term future will spell an end to custom video board GPU progamming and a return to pure software rendering.
- With at least one BIG question: can the memory subsystems in these modern multi-core machines provide both the bandwidth and the cache coherency needed to write such software rendering libraries.