Nvidia gears up graphics tools for games

A new programming language called Cg, built with Microsoft's collaboration, may help developers of computer games render details such as fur and grass more realistically.

David Becker Staff Writer, CNET News.com
David Becker
covers games and gadgets.
David Becker
2 min read
A new programming language from Nvidia may really set the fur flying in computer games.

Signaling the possibility of a major shift in how developers control a game's look, the graphics chip leader is releasing tools that will help give game programmers the option of trading some speed and smoothness to create more detailed images.

The programming language, called Cg, was developed in collaboration with Microsoft and is similar to the software giant's series of C languages for writing Windows code, said Chris Seitz, Nvidia's manager of development tools. C code is also commonly used to write games.

Cg, released Thursday, will give game developers tools to write code for advanced graphics effects such as vertex shading and pixel shading--techniques that let programmers tackle long-standing graphics challenges such as rendering fur and grass. To date, such effects have had to be written in low-level "assembly language," making the process so complex and lengthy that most use it for only a few graphical tricks.

"Assembly code is really nasty, low-level code," Seitz said. "You show this to a developer, and they say, 'Forget it, it's too time-consuming.' You show them Cg code by comparison, and they get it--it looks a lot like the C code they write to make the game."

Graphics chip suppliers have been making their products fully open to developers, as opposed to previous generations of chips that rigidly defined the processes the chip ran, said Mercury Research analyst Dean McCarron. Instead of simply trying to achieve faster and smoother animation, developers can work on creating more detailed, realistic images.

"We're basically on the verge of a pretty fundamental change in the PC graphics market, where the next generation of components coming out are going to have essentially unlimited programmability," McCarron said. "We've seen a lot of progress in terms of performance but not necessarily in quality. Programmability means developers can make decisions to trade off performance to do more detailed pixel rendering."

Cg will help developers take advantage of such power, McCarron said. "When you program at a higher-level language, it's almost always easier to do," he said.

The Cg Toolkit, which includes programming libraries and a compiler for writing specific instructions for Nvidia chips, is available now for developers to download. Seitz said Nvidia will make the basic Cg code available for other makers of graphics chips to write their own compilers.

"We're going to keep our secret sauce, but we'll let other hardware vendors plug their stuff in," he said.

Major game developers such as Electronic Arts, Sony Online Entertainment and LucasArts are working to incorporate Cg into their development processes, Seitz said.

"There's been a huge outpouring of support from the development community," Seitz said. "It's just so obvious to the people in the community that this needed to happen for developers to take advantage of that core capacity" of the graphics processor.