Rasterization on Larrabee
ddj.com
ddj.com
I miss the classic Abrash where he begins with some personal anecdote out of nowhere:
http://www.bluesnews.com/abrash/chap68.shtml
Hey, I was going to post a link to the PDF chapters of his Black Book, the massive anthology of his 90's PC game programming articles, but all I can find are broken links and a mirror on gamedev.net with no links to it. So here you go, for all you people living in 1997:
...so GPUs are just a temporary hack, waiting for smart enough software (and some tweaking of the CPU instruction set) to catch up.
When all is said and done though, We'll be moving to realtime raytracing/radiosity for 3d rendering.
You could say there's a back-and-forth between hardware and software, but to me it looks like software is playing catchup. "Oh I've got 16-wide vectors now? Ok let me go back and completely change everything." "What, I can't load a vector from an odd-numbered array position? Hmm, there goes THAT algorithm." The electrical engineers are running us.
A real hacker should be happy that there are fresh new problems to solve. Or, if you just want to get shit done, use a dynamic language and be glad that CPU speed is rarely an issue any more.
It's a bit like reverse cell division.
"My mom always did that to help the turkey thaw" she told him.
The next day Mom calls to see how everything is going. "Fine, Ma. I have everything ready to go in the oven. I even remembered to put the rack over the turkey last night."
This seemed to confuse her mother a bit. "What are you talking about?" she asked.
"Oh, I remember you always put the dish rack over the turkey when it was thawing in the sink," she said.
There was a pause on the end of the line. "Yes, but honey, we had cats!"
This isn't a perfect metaphor, but turkey == rasterizer and cats == hardware. Circumstances change, and that moves around where optimal is in the solution space. (his was far less obvious than "not using a dish rack" but the idea is the same)