Zeross said:
Vysez said:
AndrewM said:
AFAIK. Cg wont have anything to do with CELL - only the gpu programs.
It's highly expected that the Cell's SPE would deal with the TnL and other Vertex operations.
Yes but IBM has stated that SPE will be programmed using traditional C/C++
Cg isn't general enough for this task, it's too deeply tied to GPU and their current shortcomings.
Some stuff will be written in C/C++ and some will be written in Cg. Vertex shaders will likely NOT be written in C++ most of the time. You *could* write them in C++, but you would
a) lose the ability for less technically inclined people (art pipeline oriented people) to edit them
b) the ability to move shaders freely between CELL PPC core, SPE core, or GPU VS core.
When you need complete generality, you're likely to program in C/C++. However, for the art pipeline, effects are likely to be managed and written in a higher level language customized for the effects domain.
Just like with game logic and AI. Some stuff is written in C/C++, and some is written in the engine's scripting language. IBM could state that "SPE will be programmed in C/C++", but they have no control over the tools and middleware market and what will evolve.
NVidia has the opportunity to enhance Cg to make it more general, capable of handling displacemap mapping/tesselation/geometry shading ala RenderMan, or perhaps adding the ability to process physics ("physics shading") or generalized DSP routines.
Demanding that the PS3 be limited to standard OpenGL makes zero sense. And any game that is not a shitty-port, but written for the PS3 specifically, is not going to run on a PC very well.
So the idea that PS3 developers should be forced to write portable, multiplatform code is insane.
The PS3 is likely to have a market of third party compilers, concurrent languages, etc because concurrent programming is hard, and traditional tools available frankly suck. IBM's marketing not withstanding, there is no generally accepted solution (e.g. language, tool, and library) that produces high performance, generalized concurrent code, that is reliability debugged.
It is an area of rich research.