Cg FAQ

    技术2022-05-11  31

    Cg FAQ

    Cg语言

    Cg是什么?

    C for Graphics。Cg是对GPU编程的高级语言,由NVIDIA在Microsoft的密切协作下开发。

    是谁在维护Cg语言规范?

    NVIDIA在维护Cg语言规范,而且会继续和Microsoft合作维护它和DirectX High Level Shading Language (HLSL)之间的兼容性。

    Cg是私有的吗?

    Cg语言规范是公开和开放的,所以其他厂商可以用它来实现产品。为了鼓励这个,NVIDIA开放了Cg编译器技术的源代码,使用无限制的、免费的许可证。

    厂商实现的Cg编译器是私有的,而且由开发者拥有。NVIDIA已经开发和拥有NVIDIA Cg Compiler,并期望和鼓励其他厂商开发他们自己的Cg编译器产品。

    Cg取代了OpenGL吗?

    不,Cg是OpenGL上面的一层。Cg编译器输出的汇编代码是用OpenGL扩展——比如ARB_vertex_program、ARB_fragment_program和NV_vertex_program——和OpenGL 1.4定义的格式。

    Cg取代了DirectX吗?

    不,这个语言是DirectX顶点和像素着色器API上面的一层,而且要运行在DirectX 8.0和DirectX 9.0的标准顶点和像素着色的基础上,建立着色器代码也是必要的。

    它和Microsoft HLSL比较起来怎么样?

    Cg语言规范是和Microsoft的High Level Shading Language兼容的。Cg着色器遵循Microsoft的最新的D3DX Effects格式标准集,也完全兼容Microsoft的HLSL。

    Cg语言和Cg编译器有什么区别?

    Cg语言是句法和语法,适合实时可编程GPU的语言。

    Cg编译器是一个应用程序,它接受Cg语言输入,而且产生可以被现代可编程GPU接受的多种标准汇编语言格式之一的输出。

    NVIDIA为OpenGL的未来作了什么?

    NVIDIA忠于OpenGL的发展,而且将会积极地工作在OpenGL发展的前沿。NVIDIA被提议而且领导了OpenGL 1.4的开发,它的主要组件是可编程GPU顶点硬件的汇编语言界面。在已经成功地完成了这个OpenGL版本的情况下,NVIDIA现在和ARB合作定义和开发下一个版本的OpenGL,把片元/像素可编程性作为它的核心功能。

    平台

    NVIDIA Cg编译器支持哪些平台? Windows (DirectX 8,DirectX 9,OpenGL)Linux (OpenGL)Mac OS X (OpenGL——ARB_vertex_program支持)Xbox (通过离线编译的DirectX 8顶点和像素着色程序) 其它平台怎么样?

    NVIDIA提供了NVIDIA Cg编译器前端关键部分的源代码,使其它平台的快速移植成为可能。

    Cg怎么支持未来的GPU?

    Cg被设计为可以为很多可编程GPU提供支持,而且NVIDIA希望Cg成为一个关键技术,允许开发者可以访问和使用未来日益增加的可编程GPU架构。

    NVIDIA Cg工具箱

    NVIDIA提供给开发者什么?

    NVIDIA目前提供给开发者NVIDIA Cg工具箱,由以下几部分组成:

    NVIDIA Cg编译器:DirectX 8:顶点和像素着色器DirectX 9:顶点和像素着色器OpenGL ARB_vertex_program,OpenGL ARB_fragment_programNV_vertex_program[2],NV_fragment_program Cg语言规格书Cg标准库Cg运行库(支持DirectX 8,DirectX 9和OpenGL)Cg用户手册NVIDIA Cg浏览器(带有很多着色例子和demo)GeForce FX着色例子 将会有其他版本的工具包吗?

    是的,新版本的NVIDIA Cg工具包将会支持和包含:

    增加编译器的优化广泛的可见和例子进一步支持.fx运行期编译 NVIDIA Cg编译器会对针对某个平台特殊优化吗?

    是的,NVIDIA Cg编译器会为多种目标GPU架构进行着色优化。

    为什么Cg不能在我的旧显卡TNT/Voodoo/Matrox上运行?

    NVIDIA Cg工具包现在需要一个可编程GPU——最好是DirectX 8级别的GPU,比如GeForce3或GeForce4 Ti,或Radeon 8500。

    什么时候增加对Mac OS X/Xbox/TNT的支持?

    Mac OS X——在开发中,Xbox [通过现在已经支持的DX8],TNT [不会增加支持]。

    谁在使用Cg?

    成百上千的开发商认可了Cg:

    成百上千的开发商在2001后期就开始在刚开始成形的Cg上训练了,为这个语言的发展做出了很多贡献。

    支持Cg的一些开发商包括:Auran、Bethesda Softworks、Beyond Games、Bioware、Blizzard Entertainment、Cat Daddy、CodeCult、Codemasters、Contraband、Core Design、Croteam、Cryptic Studios、Crytek、Dark Black、Destineer、Electronic Arts、Elixir、EMG、Ensemble Studios、Fox Interactive、Grin、Headgate、High Voltage、Inevitable、Ion Storm、Kaboom、Kuju、Lego Media、Lionhead、Lithtech、Massive、Maxis、Nadeo、NAMCO、NemoSoft、Novalogic、Pivotal、Rage Sheffield、Relic Entertainment、Ritual、Sega-AM2 Co. Ltd.、Sony Online Entertainment、SpinVector、Steel Monkeys、Valve、Vupine等等。

    中间件开发商也认可了Cg:NDL、Criterion、Intrinsic Graphics DCC应用程序和工具,比如Alias|Wavefront Maya、Discreet 3ds max、Softimage|XSI和Right Hemisphere的Deep Exploration把Cg嵌入数字艺术家的工作流。


    最新回复(0)