首页 天气预报 新闻 邮箱 搜索 短信 聊天
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 硬件 > 热门话题 > 正文
显卡发展的新动力:图形编程语言Cg

http://www.sina.com.cn 2002/08/22 14:49 赛迪网-中国计算机报

  文/明月

  NVIDIA最近发布了一个全新的图形编程语言:C for Graphics,简称Cg,很显然从这个技术的字面上来看,就会知道Cg是使用C语言作为蓝本,面向显示卡的语言。这种技术会对我们有什么影响?可以给我们带来什么好处呢?现在让我们一起来看看:

  为什么需要Cg

  目前已经发布的NVIDIA的GeForce 3/4以及ATi的Radeon 8500这几款图形芯片都具备了DirectX 8级别的可编程特性。但是,由于没有合适的工具,因此大多数3D图形开发者没有办法发挥它们的全部潜能。而造成这个现象的主要原因就是,以上的显示卡如果要实现硬件的像素渲染和顶点渲染编程就必须要使用低级的汇编语言来进行,我们知道汇编编程的工作量极大而且难度是非常高,对于显示卡要达到的特效显然要求应该更高,因为众多的3D图像程序员都很难发挥这些显示卡硬件渲染方面的可编程性。

  汇编语言一般很难看懂而如果换用Cg语言的话,那么编程变得更简单。

  C语言是目前世界上流行、使用最广泛的高级程序设计语言。对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件、三维、二维图形和动画,它是数值计算的高级语言。因此综合来看,如果在显示卡上能够使用C语言来进行编程显然是非常好的想法。为此NVIDIA开发了Cg语言。

  Cg语言的一些特点

  Cg语言是全新的类C高级编程语言,在微软的帮助下我们看到了它的雏形,有意思的是Cg语言不但支持普通的DirectX图形接口,对OpenGL图形接口也提供了完备的支持。Cg语言主要包括两个部分,Cg语言特征、Cg编译器,而且这种编译器可以使用高级语言数据类型。

  Cg语言适用性相当强,开发者可在多种平台上使用

  同其它编程语言相比,Cg是非常特殊的,它提供了Cg浏览器(Browser,针对语言属性和可视化操作),从而可以让开发变得更简单。另外Cg语言已经获得了大量数字内容生成和游戏开发产商的认证支持。这样显然Cg语言比其它任何的语言都更适合于3D游戏卡程序开发。

  由于采用C作为开发蓝本,因此开发者可以在很多平台上使用Cg语言,比如:Cg可以使用在Windows、Linux、Mac OS、Xbox下。并且由于同时支持DX8和OpenGL 1.4,因此Cg语言的适用性就更广了。

  Cg语言将给我们带来电影品质的3D图像

  不过,我们这里需要说明白了一点就是,Cg具备很高的效率,因为Cg其实就是提供了应用程序同硬件加速规范的中间层,应用程序通过Cg来调用DX和OpenGL,而原来这些功能是通过汇编调用的。所以说Cg不但可以大大降低编程的繁杂度,并且保持了汇编的高效性。使用Cg的开发环境,图像编程就成了书写Cg代码的过程,随后,通过Cg编译器产生低级的汇编代码,这样开发者再也不用去直接接触图形核心的细节了。

  Cg语言具有广泛的兼容性

  目前NVIDIA已经提供了Cg开发包1.0版,可以在Quadro 4和其它GeForce 4卡上进行开发。

  NVIDIA Cg Toolkit 1.0包括以下组件:

  Cg Compiler Public Beta 1.0

  Vertex (DirectX 8, OpenGL 1.4)

  Pixel (DirectX 8)

  Cg v1 language specification

  Cg Standard Library

  Cg Browser

  Cg User's Manual

  Cg Shaders

  (Assorted pre-written programs)

  即将发布的NVIDIA Cg开发工具包2.0包括以下组件:

  Cg Compiler 1.0 Gold

  Vertex (DirectX 9, OpenGL-nv30)

  Pixel (DirectX 9, OpenGL-nv30)

  CgFX Parsing

  Cg Browser 5.0 (CgFX enabled)

  More Shaders

  Cg Courseware

  Cg语言的实际意义

  NVIDIA宣称在未来的一年中Cg将可以给我们带来电影品质的3D图像,而现在的显示卡都只能实现普通的帧渲染。Cg可以更好地使用图形核心的可编程特性,可以提高开发速度,使开发者可以共享和重用代码,NVIDIA称Cg为一个“工业标准语言”。因此,ATi、Matrox、3D Labs等显示核心厂商会推出它们自己的Cg优化版本,基本的DX8和DX9渲染代码都能够适用NVIDIA编译器运行在它们的硬件上,DX9渲染是从微软的编译器派生的,而OpenGL 1.4的代码通过其它编译器生成。因此,从现实意义上来说Cg已经真正走到了前台。

  和统一驱动体系(Unified Driver Architecture)类似,在Cg上使用了NVIDIA的统一编译体系,这使得Cg可以向后兼容。不同的用户可以使用Cg的预编译模式或者实时编译模式。如果没有Cg,图像开发者要直接面对GPU的细节和图像API,增加了开发者的开发时间,并且这种整合式的支持也对开发的跨平台性做了很好的规范。

  其实Cg可以带来的最大特点,还是3D图形效果质量的提升。因为Cg已经预置了众多3D特效的命令,要达到一定的效果我们仅仅需要使用1-2条命令就足够了。同时这也可以促进非专业3D图形程序员,开发出出色效果的3D画面,因为要达到这个目的,只要你具备C语言开发能力就足够了。

  3D图像质量的提升,是Cg语言最大的卖点

  Cg已经得到众多数字内容生成和游戏厂商支持,包括:Alias/Wavefront, SoftImage, Discreet, Luxology, Valve Entertainment, Sony Online Entertainment和Microsoft's Games Division;Cg还有其它更多的大众游戏和DCC数字签名。到今年夏季,第一个Cg应用会是Maya、SoftImage、3ds Max和Lightwave的软件插件,这些插件非常重要,它可以使开发者在像素和顶点渲染上创建3D艺术品。

  NVIDIA非常希望Cg可以成为一个图像上的标准,这样在不远的未来就创造出漂亮的令人惊讶和真实的3D场景。而目前的游戏世界还深陷在帧渲染以及固定渲染的的泥潭中,几年以来游戏画面都没有太大的改观。不过,目前有了Cg语言,这就可以充分地发挥显示核心的真正特性,从而实现更出色的3D效果,相信类似Final Fantasy那样的画面不久就可以出现在实际的游戏中。


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

【学园专题】显示卡的选购和使用
 相关链接
旧瓶装新酒 非GeForce4显卡也用nView(2002/08/21 14:25)
好马配良鞍 选显卡也要看CPU性能(2002/08/21 14:16)
显卡选购误区谈:不要“贪大求全”(2002/08/20 15:40)
ATI Radeon8500驱动程序使用经验谈(2002/08/16 14:52)
ELSA Winner4 200多屏幕显卡上市(2002/08/13 18:18)
铭瑄光之“翼”系列显示卡大测试(2002/08/12 16:16)
“XP4”要称霸100美元以下显卡市场(2002/08/12 13:27)
暑期导购:1000元可以购买什么显卡?(2002/08/09 15:42)
康柏商用PC机率先采用NVIDIA和AMD技术 (2002/08/21 17:04)
惠普用速龙 nVIDIA芯片组沾光打进商用PC (2002/08/20 14:24)
nVIDIA欲依靠IBM用最新工艺生产新品NV30 (2002/08/19 14:27)
因冲销过时产品 Nvidia Q2利润同比下降 (2002/08/16 09:23)
Nvidia第二财季盈利下滑 (2002/08/16 04:55)
金钻七代助nVIDIA展现强大游戏功能 (2002/08/15 10:44)
NVIDIA首席科学家荣获ACM SIGGRAPH 2002计算机图形成就奖 (2002/08/08 18:18)
Nvidia发布盈馀警讯 股价早盘下跌30% (2002/07/31 23:03)
再结盟友nVIDIA 浩鑫XPC电脑雄心勃勃 (2002/07/31 13:57)
PC芯片组拖累Nvidia收入锐减 (2002/07/31 11:33)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-5488   欢迎批评指正

新浪简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 产品答疑

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网