技术:详细解读DirectX10几大技术进步
本篇文章2625字,读完约7分钟
directx经过几年的快速发展,现在directx迅速发展到v9.0c版本。 directx9.0并没有让我们失望。 那个电影级的画面渲染效果与当时3dfx的voodoo对整个3d游戏行业的影响不相上下。 但是,微软没有停止,现在作为directx 9.0c继承人的directx 10与微软的windows vista操作系统一起发售的directx api是新时代的开始,当然是商业 那么,作为directx快速发展史上的另一个里程碑性标准,它给我们带来了什么呢? 现在,让我来介绍一下directx10在技术上的最重要进步。
预期的directx 10.0
1、shader model 4.0
相信购买显卡时是否支持directx9.0c,但shader model 3.0是directx9.0c的最大特征。 directx9.0c和directx9.0b只是字符的区别,但directx9.0c支持的sm3.0和directx9.0b支持的sm2.0在功能和效果方面有很大差异。 在尖叫的directx10中,shader model也升级到shader model4.0,sm4.0比sm3.0有什么特点?
dx10的游戏画面几乎是假的,可以扰乱真实
sm4.0规格为游戏程序开发人员提供了更大的空间,比原来的shader model 3.0自然地继续提高,特别是最大指令数从512条增加到了64000条。 堆栈数量也从原来的32个增加到惊人的4096个,texture从sm3.0的16个上升到128个,硬件支持rgbe,因此hdr不需要特别的decoding解决,hdr+aa不那么麻烦。 在支持2d纹理大小方面,directx 10也有了惊人的提高,8192x8192的最高纹理分辨率远远高于传统的最高2048x2048分辨率。 在以前的e3中,微软在一些飞行模拟x中的dx9/dx10的游戏画面。 从画面上可以看到水面的效果非常真实,directx 9.0版本的比较虚假的山脉在水中的影子变淡了。 在上图中,左边是现实世界的真实场景,右边是游戏的虚拟环境,能看到多大的差异?
2.unifiedrenderarchitecture [/BR/] [/BR/]相对于sm4.0,实际上微软在shader model 4.0中引入unifiedshaderarchitecture是dx10最大的更新 已知微软引入directx 9的2.0/2.x/3.0三个版本的vertex shader (顶点着色引擎)和pixel shader (像素着色引擎)。 其中支持2.0版的着色引擎是DirectX9GPU的最低标准,目前主流显卡支持越来越多的具有高级解决功能的3.0版着色引擎。 但是,在directx9.0c中,具有类似于vertex shader和pixel shader功能的图形芯片供应商也在gpu中划分了两个区域,以存储vertex shader阵列和pixel shader贴图管线 这确实是资源冗馀,gpu的设计难度和价格也在恶化。 当direct x10将渲染过程细分为vertex shader、geometry shader和pixel shader时,这将更明显。 那么,这两者有可能合并吗? 答案是肯定的!
ati为xbox 360设计的xenos芯片已经使用了us架构
在directx 10上部署了集成渲染帧,通过集成了vertex shader、pixel shader的可编程集成照明解决方案完成了当前vertex shader、pixel shader的所有业务。 统一渲染体系结构是指shader单元不再分离,显示核心不再按shader类型配置不同类型的shader单元。 在主要的显示核心中,pixel shader单元和vertex shader单元的概念应该已经众所周知。 在统一渲染体系结构中,这两个shader单元不再分离。 无论是pixel shader数据还是vertex shader数据,转动所有shader单元都可以解决应该解决的数据。 哪个shader单元组解决什么数据和进行什么类型的计算由被称为small sets of instructions(ssi )的部分控制。 这样,在硬件上,设计者不需要为不同的阴影引擎设计不同的执行单元,如果根据对应的接口和操作方法全部一体化,则只设置一个独立的shader执行单元。 这意味着gpu制造商可以用更小的内核实现现在8000万到越来越多的晶体管能实现的功能。
蛾
因为还没有,还没有,还没有,还没有,还没有,还没有。
招待。
4、geometry shader技术
另外,directx 10中有被称为geometry shader的新版本的“shader”,在pixel shaders和vertex shaders中无法达成 现在directx的解决方案是1 .顶点数据准备、2.vertex shader、2.vertex shader完成。 4 .完成光栅化计算,5.pixelshader,5.pixelshader。 这是d3d标准的解决模式,该过程依次进行( directx 10之前)。 因此,只能吸收和输出一个顶点的旧版vertex shaders不能创建或破坏三角形。
wgf 2.0的geometry shader
新的geometry shader的作用是用vertex函数解决各vertex数据邻接的数据,即判定并计算邻接的数据操作这样的点,该函数解决直接关系到整个渲染模型的形状。 也就是说,可以更快地组合像模型这样的顶点,进行高速运算。 没有vertex shader那样的完美操作,只有单一顶点的关联函数操作不会进行解析器的操作,但该操作可以明确模型整体的物理形状。 这将大大提高解析器的速度,因为其他shader单元不需要确定数据存在的位置,需要对特定区域进行简单的操作。
另外,geometry shader有被称为stream out的技术,gpu可以重复使用已经计算的结果(可以继续调用vertex shader数据中解决的结果),减少计算。 我们知道,现在nvidia发布的geforce 8800gtx最多有128个stream out单元。
[1] [2] [下一页]
标题:技术:详细解读DirectX10几大技术进步
地址:http://www.greenichiban.com/news/7254.html
免责声明:国际科技时报是中国具有影响力的科技媒体,以全球视角,第一时间呈现最新科技资讯。所著的内容转载自互联网,本站不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,国际科技时报的作者:何鸿宝将予以删除。