demalion said:
I found some comments startlingly facetious and marketing-laden.
Tim Sweeny said:
...
How many useful C programs don't contain conditionals? Approximately none!
...
Only a marketing guy would consider 24-bit floating point to be "full precision"!
...
But nowadays there isn't a good reason for hardware to support less than full 32-bit floating point precision.
I found this an unfortunate inclusion.
I agree, and think the really unfortunate thing is that some people assume a kind of omniscience about 3d hardware in people like Sweeny and Carmack, an undeserved assumption if ever I've seen one. People involved in various aspects of the 3d-gaming industry all have certain, narrow, specialized perspectives when it comes to topics like these, and it surprises me sometimes to think that for some it isn't immediately obvious that folks like Carmack and Sweeny are not themselves hardware engineers, are not employed in that capacity by companies like ATi and nVidia, and have no personal experience themselves with even writing drivers for the products these companies make.
Their view of a company's hardware and drivers is necessarily restricted to the scope of their own personal and professional interests: writing 3d-game engines for 3d games--writing their own 3d game engines, that is. Carmack is no more of an "expert" on 3d-hardware technology than he is on Epic's D3d game engines, and vice-versa for Sweeny and Carmack's OpenGL engines. They have their own distinct expertise and everything they see is limited by their own particular field of view. OTOH, companies like ATi and nVidia must design 3d hardware and drivers, and M$ must look at API development in tandem with them, from a much wider, broader perspective, a perspective meant to serve the needs of everybody developing *and using* 3d software technology (aside from only Carmack or Sweeny, individually, and using Carmack only figuratively here in relation to M$ since he doesn't do D3d at all.)
I'm not saying, of course, that Carmack and Sweeny have "nothing" worthwhile to say--not in the least. Just that I look at the various comments they make from the limits of their particular specializations--their own 3d-game engine development projects. I mean, take Carmack and Sweeny together and throw them in the engineering-design basements at either nVidia or ATi with the command, "OK, fellas, now design the next gpu for our company," and I think their eyes would glaze over, their mouths would drop open, and they'd both be drooling in short order...
Might as well ask Carmack's rocket company to design the next space shuttle as opposed to Nasa, or ask Sweeny to write weather-prediction programs for government supercomputers. I think both men would quickly find themselves out of their leagues.
Again, not saying they have nothing to say, but simply saying that whatever they say must be put into a perspective relative to their particular fields of expertise in the industry. Neither works for gpu manufacturing companies, or in a field relative to gpu circuit design and manufacturing. So, very simply, their viewpoints are accordingly much different from those of nVidia and ATi, M$, etc., because what they do for a living is itself much different.
That's why it doesn't surprise me, especially, to hear Carmack or Sweeny making various comments from time to time that are long on marketing and short on objective fact. In some respects, they themselves are as dependent on the products the 3d gpu companies make, and the drivers they write, as are the ordinary consumers who do nothing more than buy 3d games and play them at home.
So when I hear comments like these attributed to Sweeny:
"Only a marketing guy would consider 24-bit floating point to be "full precision"!
...
But nowadays there isn't a good reason for hardware to support less than full 32-bit floating point precision"
...I'm not surprised...
I mean, I'm not aware of my copy of UT2K4 *requiring* fp24, let alone, fp32 support to run...Heh...
So if Sweeny himself is content to write game engines which themselves may at best be considered as rendering to only "partial precision," if not wholly to integer precision, I'm really not all that interested on hearing him opine as to the meaning of "full precision"--since of course his software doesn't yet support even fp24, let alone fp32. The day that the UT engine *requires* fp32 support to run will be the day when I start taking his comments about "full precision" to heart. I suspect I will have a long time to wait...
And, I mean, if the fact that M$ established fp24 as the "full precision" baseline for DX9 is nothing more to Sweeny than the gibbering of a "marketing guy," then why on earth might we ever consider fp32 to be "full precision," when of course there's always fp64, fp128, fp256, and etc., to consider on down the line? If we buy into Sweeny's idea that "fp24" isn't the API baseline for "full precision," even if M$ declares that it is, then it *must follow* that we cannot consider fp32 to be any more "full precision" than fp24, in the grand scheme of things, of course. Heh..
That's the way it looks to me.
In short, like everybody else, including me, some of the comments these guys make are worthwhile, and some aren't, and I've never seen any reason to think otherwise.