咨询热线

0898-08980898

开云体育
您当前的位置: 首页 > 开云体育 > 开云体育官方网站
开云体育官方网站 开云体育APP

Cg与RenderMo开云体育- 开云体育官方网站- APP 最新2025nkey 之旅

时间:2025-09-12 06:33:26
更多
  

  开云体育官方,开云体育app,开云app下载,开云棋牌,开云直播,开云体育靠谱吗,开云体育和亚博,开云体育老板是谁,开云官网,开云体育,开云直播英超,开云电竞,开云游戏,开云,开云体育官网,开云体育官方网站, 开云app, kaiyun sports, 开云体育简介, 开云体育官方平台, 世界杯开云, 开云体育app下载, 开云体育网址, 开云体育2025游戏开发者的硬件配置似乎总比我们普通用户的要高(当然是指3D游戏的开发者,现在没有游戏不是3D的了吧?抛开多如牛毛的FPS不说,一直是2D唱主角的RTS,如魔兽争霸III到命令与征服-将军也都已毫不例外的转到了3D),在“ATi的魔咒日-程序员的训练课程”上,ATi给每位程序员一台配有Radeon9700的计算机,似乎这才是游戏程序员的标准配置,那时我们驱动之家评测室才刚刚拿到9700样品,ATi官方网站的报价是$399。

  3D游戏开发制作者当然也从来没有像今天这样为Shader而着迷,但是制作游戏并不象玩游戏那么简单,一开始他们碰了壁,由于没有合适的工具,因此大多数3D图形开发者没有办法发挥它们的全部潜能。而造成这个现象的主要原因就是,以上的显示卡如果要实现硬件的像素渲染和顶点渲染编程就必须要使用低级的汇编语言来进行,我们知道汇编编程的工作量极大而且难度是非常高,对于显示卡要达到的特效显然要求应该更高,因为众多的3D图像程序员都很难发挥这些显示卡硬件渲染方面的可编程性。这也正是当初DX8发布后,DX8游戏迟迟不能上市的原因之一。

  GPU的重要特性就是硬件可编程性,目前所推出的可程序化显卡包括有nVIDIA的Geforce 3及Geforce 4钛系列的产品(不含GF4MX系列)、Xbox主机(GF3.5)、Matrox Parhelia、3Dlabs的P10及ATi所推出的Radeon 8500、9000、9700镭系列显卡。然而,这些显卡的可程序化特性均被列为机密,并仅能通过DirectX 8(DX8)内的顶点着色(VS)及像素着色(PS)接口来使用,硬件可编程特性并未被真正利用。

  我们需要GPU设计制造者提供一种高级编程语言,让图形编程的开发人员可以利用这些高级语言可以更加快捷、高效的写出所需的图形程序来,然后利用他们自己提供的编译器或者是类库将开发人员所写的这些高级语言转换成高效的,由他们各自的显卡所支持的计算指令集(汇编语言),来最终形成计算机上的图形。这样可以保证按照最快的速度来显示开发人员想得到图形,而开发人员又不必为复杂的硬件计算指令以及如何优化这些硬件指令而烦恼。

  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语言非常灵活、并且考虑了最大限度的兼容性。这里,我们需要说明白的一点就是,Cg具备很高的效率,因为Cg其实就是提供了应用程序同硬件加速规范的中间层,应用程序通过Cg来调用DX和OpenGL,而原来这些功能是通过汇编调用的。所以说Cg不但可以大大降低编程的繁杂度,并且保持了汇编的高效性。使用Cg的开发环境,图像编程就成了书写Cg代码的过程,随后,通过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语言开发能力就足够了。

  安装我们下载的Cg Toolkit,安装程序会提示是否建立MS Visual Studio与Cg shaders的关联(选择“是”,如果你已经安装了MS Visual Studio)。建立关联后,在Visual Studio中打开*.Cg文件进行编辑,可以看到Cg语言的编辑和标准C++语言是一样的,包括语法颜色的提示,在编辑过程中可以随时按下“Control+F7”进行编译,所有的语法错误都会被高亮显示。

  实时渲染一直是图形设计者的梦想,OpenGL ARB曾经是图形技术上的巨大进步,它把矢量模型转化为实体,得到接近于真实的效果,在OpenGL状态下,我们可以看到颜色、材质、光照和阴影,但是它停滞不前的缓慢发展速度,使它与实时渲染的要求越来越远,在表现如金属的光泽、水面的反射、玻璃的透明等效果上OpenGL ARB都显得无能为力,最终不得不依赖于CPU的渲染,而这些效果则是迅速改进的DX的强项---Pixel Shader和Vertex Shader很容易就能实现这些效果。虽然由nVIDIA、ATi等硬件厂商提供的最新版的OpenGL已经加入了对Shader的支持,但是为了保持最大范围的兼容性,因此许多专业设计软件的OpenGL界面基本上还是仅限于ARB的OpenGL规范。

  CgFX是一种文件格式,类似于微软DX9 HLSL语言的.fx文件,定义了一个shader中可以编辑的参数,例如同一个场景的两个对象可以用同一个shader但是可以实现不同的效果。其中可以包容多种的shader技术,例如提供较高版本的shader(Pixle Shader 2.0)以及较低版本的shader(Pixel Shader 1.1)选择。此外,同一个CgFX文件还可以不同语言编写的shader,例如Cg高级语言、汇编语言以及特定硬件的机器代码等。

地址:广东省广州市   电话:020-88888888
传真:0896-98589990
ICP备案编号:
Copyright © 2018-2024 开云体育官方网站 版权所有 非商用版本