Really called "Cg", short for "C for graphics" An extension to C, developed by NvidiaCorporation (with help from MicroSoft), designed to support high-speed 3d graphics rendering (mainly for games, also useful for high-end ComputerAidedDesign applications). See http://developer.nvidia.com/page/cg_main.html ( No longer under active development - 20140727 ) A bit controversial; in that many developers feel that a language extension of this sort is unnecessary; and that a library/macro package for C would suffice. It is often alleged that this is an attempt by Nvidia and/or MS to achieve VendorLockIn. The language is essentially C with a few keyword-level graphics and rendering primitives thrown in. ''AnswerMe: How does this interact with CeePlusPlus? Is there such a thing as CeeGeePlusPlus?'' No. However several c++ features (function overloadin, member functions) have been used in Cg. [ I'm not sure which language bindings are offered, but note that Cg is not a general purpose language, it is a DomainSpecificLanguage derived from C that specifies the small kernel of code that drives each of the several special-purpose graphics CPUs in Nvidia cards. Those GPUs are getting closer and closer to having most of features of CPUs, but they're not trying to replace the Pentium, for instance. Previous generations supported only a very small number of instructions, and had no branch instruction. The most recent GPUs do have branches, and RAM for more instructions, but you'll probably never be able to fit EmacsEditor in there, in any future generation. ] * It's fascinating that you could easily fit EmacsEditor on a modern GPU, assuming you compiled it to work that way. * ''No, you could not. The previous comment was correct: "you'll probably never be able to fit EmacsEditor in there, in any future generation." This is obvious if you look at what distinguishes a GPU from a CPU (and apparently not obvious if you don't look).'' One interesting feature: indexing an array with a floating point number means to interpolate between the array values found at the floor and ceiling of the floating pooint index. (Someone from .au changed this comment to something very different and incorrect, please don't do that. Well, not without stating your disagreement explicitly and providing a URL that proves your point, anyway.) ''Interesting. I guess this is something like what CeeSound does internally with its indices to wave tables. Can you specify the interpolation policy in Cg?' * Not that I know of. ----- CategoryCee CategoryProgrammingLanguage