当前位置: 首页 > news >正文

商城微网站模板团购做的好的网站

商城微网站模板,团购做的好的网站,网络推广外包公司排名,代理注册公司排名本文取自西川善司的3D图形技术连载#xff0c;全99回 本贴为1~8回#xff0c;争取每1~2天更新一回吧。半年更新完。 也希望大家能支持。 翻译 Trace 校对注解 千里马肝 http://www.opengpu.org/forum.php?modviewthreadtid7376extrapage%3D1 本连载的主要目…本文取自西川善司的3D图形技术连载全99回 本贴为1~8回争取每1~2天更新一回吧。半年更新完。 也希望大家能支持。 翻译 Trace 校对注解 千里马肝 http://www.opengpu.org/forum.php?modviewthreadtid7376extrapage%3D1 本连载的主要目的是介绍最新的PC和GAME所使用的最新3D图形技术的发展趋势。 暂时的方针是首先是考虑介绍比较新的PC Game和PS3XBOX360等新时代游戏机的游戏所采用的技术。 那么首先想回顾一下近年来的3D图形技术的进化历史。 实时3D图形技术的进化历史 目前不仅索尼的PS3微软的Xbox360任天堂的Wii这些最新的游戏机以及最新的微软Windows Vista的用户界面变成了3D图形就连NDS和PSP等掌机以及一部分最新的移动电话也支持了3D图形技术。 说来实时3D图形是怎么进化着并向未来发展的呢今后要长期和实时3D图形打交道的人先试着整理基础知识吧。 1980年代后半到90年代前半Flat Shading 到 Texture Mapping的时代。 在这之前3D游戏还没有应用    基本上[3D图形]是用在技术训练的模拟解释自然现象或光学现象的学术研究比如说对影像表现的应用等在专业用途和学术用途的领域里进化着。从1980年代后期开始到1990年代大型游戏制造厂商在街机用途的游戏系统里采用了实时的3D图形系统。从这开始3D图形才真正在游戏里被有效的利用。 要说这个时代具有代表性的作品就是NAMCO南梦宫的「winning run」(1988年)、SEGA(世嘉)的[Virtual FighterVR战士」(1992年)。那时候虽然也使用多边形模型来实时表现但多边形数很少采用的lighting也是以多边形为单位的Flat Shading为主流。 但是游戏和3D图形的相遇确立了[实时3D图形]这个领域并一直支援着它的进化。 在NAMCO的[RIDGE RACER(山脊赛车)](1993年)里 应用Texture Mapping 的3D模型在多边形上贴上贴图可以自由运动就好像是从积木集合体那样的3D图形开始一下提高了真实性。 [Virtual FighterVR战士」(1993年)。只是以多边形单位lighting为基本的[Flat Shading]也没有Texture Mapping这个概念因此脸和服装都使用”某种形状的多边形”来绘制(C)SEGA。 1990年代中期家用游戏机开辟了面向消费者的实时3D图形。 当时除了特殊的图形工作站如果限定在[游戏平台]那么当时3D图形技术最先进的是街机游戏系统。然而1994年发生历史性的逆转那就是SONY PlayStationPS1和 SEGA Saturn的登场。 尽管分辨率不是太高但提供给消费者对应Texture mapping的实时3D图形的意义很大。在这些主机上实时3D图形和3D游戏图形以并行的关系性开始急速的进化。 另一方面很遗憾这时适合普通消费者的PC的3D图形技术要比游戏机大幅度落后。适合普通消费者的PC 3D图形技术真正的普及是在1995年登场的新操作系统Windows95的时代之后。 微软发表了把Windows环境下的SoundGraphicnetworkGame controller等多媒体API组件整合到一起的「DirectX」Windows 95也采用了它。DirectX后面增加版本号的称呼也成为惯例、Windows环境下真正的3D显卡开始普及。实时3D图形可以使用是在1997年发表的[DirectX 5]之后。 也正是这个时候大型的CPU/Chipset制造厂商Intel的新图形端口AGPAccelerated Graphics Port总线技术也投入实用化。强大的图形芯片制造厂商NVIDIA推出了RIVA 128系列ATI(2006年和AMD合并)推出了RAGE 3D系列。都深受欢迎。比PS1登场晚了3年PC平台终于有了可以和PS1同程度的实时3D图形。 NVIDIA的「RIVA 128」     DirectX 5時代、「用PC玩3D游戏」并广为传播的「Quake II」(1997年、id software) (C)1997 id SoftwareInc.All Rights Reserved。     DirectX 6時代以显卡的经典游戏而闻名的「Incoming」(1998年、Rage社) (C)Rage Games Ltd 1998。 1990年代后期~ DirectX的急速进化历史 1990年代后期由于PC业界团结一致的致力于强化PC使图形实现了急剧的进化 1998年发表了整合了当时已经发表的各种实时3D图形功能的DirectX6次年1999年决定了今后PC图形进化方向性的DirectX 7也被发表了。 直到DirectX 6以前3D图形处理硬件只担当多边形和相应的像素的计算光栅化rasterise处理和处理贴上材质纹理等像素单位的处理。 DirectX 7中实现了把之前CPU担当的顶点单位(多边形单位)的坐标变换处理和光照处理改由3D图形硬件来担当的结构。特别是在那时把用图形 “硬件” 进行“顶点单位的坐标变换(Transform)和光照处理(Lighting)”的结构称作[Hardware TL] (T: Transform L: Lighting) 还有因为这个契机PC业界理解到[担当全部图形处理的处理器]的含义开始把这样的硬件处理器称为GPUGraphics Processing Unit以后也就这么定下来了。另外不得不说句闲话GPU的这个称呼发音和文字上都和CPU(Central Processing Unit)对应着。作为对应DirectX 7的GPUNVIDIA的GeForce 256和ATI的第一代RADEON登场了。 搭载了「NVIDIA GeForce 256」的显卡 实时3D图形技术上虽然这之前感觉游戏机一方走在更前面一些但是从进入DirectX 7时代开始形势完全被PC逆转了。这是因为家用游戏机都被普及性优先的战略所制约只能以5年为一个周期变更硬件配置相对的PC每年都可以吸收最新技术完成进化。还有当时游戏机的份额之争是在3个制作商之间争斗相对PC图形因为是在近10个制造商之间争夺所以也对激烈竞争的根源起了不小的影响吧但是直到进入了DirectX 8時代大淘汰的浪潮终于涌了过来GPU制造厂商也缩小到数家。 「GIANTS:CITIZEN KABUTO」(2000年、PLANET MOON STUDIOS)。在DirectX 7时代PC的实时3D图形的表现力完全凌驾于家用游戏机之上。 (C)2000 Planet Moon Studios. All Rights Reserved. Planet Moon and the Planet Moon logo are trademarks of Planet Moon Studios. Giants, Giants: Citizen Kabuto, Interplay, the Interplay logo, and By Gamers. For Gamers. are trademarks of Interplay Entertainment Corp. All Rights Reserved. Exclusively licensed and distributed by Interplay Entertainment Corp. All other copyrights and trademarks are the property of their respective owners. 2000年 Programmable Shader Architecture(可编程着色器架构)展开帷幕。进入GPU制造商淘汰的DirectX 8时代。 虽然在1998年世嘉•Dreamcast2000年受到期待的索尼•PlayStation2开始发售但是在3D图形的处理能力上它们和当时的PC图形保持在同等程度。 确实虽然PC DirextX一方有着先进性但硬件GPU的急剧进化并不能牵引软件业界 PC一方变得难以技术同步。 虽然那么说但作为PC业界不管怎样都维持了每年一定会积极采用全世界研究者们创新出来的最新3D图形技术的基本方针。说到原因对最新技术牵引的PC业界来说导入像家用游戏机那样的缓慢的进化循环是很难的。PC一方每次在新GPU上搭载新机能 DirectX就要为了可以利用这个机能新添加的API这使DirectX不断的增长。 此外实现的新功能在实际应用里使用是没有限制的这样的功能作为DirectX内的化石功能持续残留着。GPU则也要为了这些化石功能消费晶体管不合理的成本和电力消耗是没有意义的。 就在这时设法把图形处理用软件方式实现并导入到GPU里的想法被提出了从而有了加入[shader可以编程实现]这个含义的,[可编程着色器](Programmable Shader)的概念(待续) 世界第一个面向消费者的采用可编程Shader架构的GPU「GeForce 3」 GeForce 3的人脸动画DEMO利用可编程着色器实现的基于法线贴图的凹凸贴图表现对衣服的外形和人肌肤的褶皱也一样适用。 那么在上次最后介绍的是可编程着色器架构Programmable Shader Architecture最早支持它的DirectX是2000年末发表的DirectX 8。 作为对应DirectX 8的GPUNVIDIA GeForce 3ATI Radeon 8500等被投入市场。还有2001年微软推出的Windows XP也集成了DirectX 8。 可编程Shader有担当顶点处理/多边形处理的[可编程顶点着色器]( Programmable Vertex Shader)和处理像素单位的阴影和处理相关纹理的[可编程像素着色器] (Programmable Pixel Shader)两种类型在各自的着色器单元(Shader Unit)上有着把各种各样的Shader程序来实现为3D图形的处理的结构。而且作为用语如果直接说[Programmable Shader]有指双方VS和PS的情况或者是指这个整体的概念。 并且由于这个Shader程序是软件开发者可以自己制作独创的Shader程序就可以在GPU上实现新的图形功能。 这样即使不等待每年发表的最新3D图形技术和下一代GPU登场如果开发了实现这个技术的Shader程序除了性能上有差别那么也会产生从实验或实践中获益。这个技术传播后也产生了硬件和软件业界就为再次互相靠近的契机。    但是可编程Shader架构的实现要求GPU制造厂商有很高的技术能力在接下来DirectX 9登场的时候支撑了初期实时3D图形的GPU厂商的撤退变得很显眼淘汰的结果2001年以后GPU制造厂商的两大巨头NVIDIA和ATI激烈的GPU战争变得突出。 现在除了两个公司以外还在开发对应PC消费者的量产GPU的还有英特尔但集成到芯片组里和S3公司。支撑PC图形黎明期的3dfx公司2000年被NVIDIA收购类似的Number Nine公司也在1999年倒闭了。Windows 9x时代在日本有着极大人气的MATROX公司虽然也最后投入了DirectX 8代GPU「Parhelia」系列但并不成功此后就远离了对应最新技术的GPU开发。面向专业工作站用GPU的3Dlabs公司在Windows 9x时代虽然也投入了对应消费者的GPU但也是徒劳2002年被Creative公司收购2006年宣布退出专业用GPU业务。从芯片组制造厂商SiS派生出的GPU专门制作厂新成立了XGI公司2006年在对应最新技术的新GPU开发方面事实上也是退出了。 【千里马肝注以本人的经历举例XGI上海研发部先是被ATI收购不久后ATI又被AMD收购。】 对了在DirectX 8发表约1年后的2001年末。微软发售了以DirectX 8为基础的游戏机第一代「Xbox」。这里就不做过多讨论了不过Xbox是世界上首个采用可编程Shader架构的家用游戏机。 第一代「Xbox」。搭载了以GeForce 3为基础的GPUAPI使用DirectX。 Xbox和PC两方发售的「分裂细胞Splinter Cell」(育碧 UBI SOFT)让世界了解了基于可编程Shader的3D图形的可能性。 2002年/2003年 Shader Modle 2.0和第一期DirectX 9时代 DirectX 8时代的programmable shader(可编程着色器)因为每个GPU制造厂商有若干个分支版本混合在一起的关系所以被规定为SM1.x。然后到了2002年新的可编程shader支持2.0规格的DirectX9发表了。 可编程 shader的规格用Shader Model(简称SM)的关键词后面加版本号来指出架构的方式近年来变得常态化。总之例如DirectX 9时代应该就是指「SM2.0」对应GPU兴起的时代。 SM2.0可以执行比SM1.x更长的Shader程序命令种类的增加能使用的命令组合的限制也被降低了。还有以前只有Vertex Shader可以使用的浮点运算精度现在Pixel Shader上也可以使用了Pixel Shader的阴影处理的计算精度和能够表现的动态范围也扩展了。这个扩展决定了未来被称为[高动态范围渲染] (High Dynamic Range Rendering:HDR Rendering)的产生成为实时3D图形新趋势的契机。 DirectX 7/硬件的TL (T:TransformLighting)的第一代GPU并且对应DirectX最初的可编程Shader的GPU都是从NVIDIA发布的显卡。相对的DirectX 9/SM2.0对应的GPU的最初显卡是ATI发布的Radeon 9700都是让人感慨很深的事情。虽然NVIDIA也投入了与之对抗的GeForce FX但制造上有问题性能上也不利SM2.0时代在ATI的优势中过去了。 首款对应SM2.0的GPUATI发布的Radeon 9700系列后面的9800低端的9600/9500系列也受到了欢迎。 SM2.0时代ATI的优势被确定这时最被盼望登场的VALVE公司的大型游戏[半条命2Half life 2]也是以ATI的Radeon 9500/9600/9700/9800系列作为最合适的GPU展开了销售战略。 [Half Life 2] (VALVE)最初是预定在2003年发售几次延期后在2004年末被推出了虽说有好有坏HL2为SM2.0时代GPU的构筑做出了贡献。 (C)2004 Valve Corporation. All rights reserved. Valve the Valve logo Half-Life the Half-Life logo the Lambda logo Counter-Strike the Counter-Strike logo Source and the Source logo are trademarks or registered trademarks of Valve Corporation in the United States and/or other countries. All other trademarks are property of their respective owners. 2004/2005/2006年 Shader Modle3.0和第二期 DirectX 9时代 SM2.0虽然说是2.0但和1.x时一样产生了几个小型的分支。NVIDIA在GeForce FX 里组装了起名为可编程Vertex Shader2.0aVS2.0a和可编程Pixel Shader 2.0a(PS2.0a)。 DirectX 9登场约2年之后的2004年微软并没有发表DirectX 10而是发布了新的DirectX 9的小幅升级版minor version up完成了Shader Model3.0即SM3.0的对应。 SM版本提高了1.0但DirectX版本没有提高的原因有[为了配合即将推出的Windows Vista一起推出][考虑到之后出现的ATI制造的GPU没对应SM3.0」等多种说法但具体不明。 【千里马肝注ATI和NVIDIA有着不同的公司风格ATI从来不搞自己的一套专心跟着Microsoft的标准走老大说一决不说二而NVIDIA一直都喜欢推出自己的标准不论是SM中VS和PS的版本、OpenGL的EXT、以及Cg和CUDA等应该说是一个很有活力和野心的公司在推进技术的同时也给行业带来了某种程度上的混乱。】 实际上SM3.0里Shader程序的程序长度限制被取消Vertex Shader、Pixel Shader双方的指令集也被扩充。SM2.0里动态条件分支和循环虽然只限在VS里但在SM3.0中PS里也可以支持了。实际上可编程Shader的VS和PS的差距没有了。还有从Vertex Shader还支持了可以访问Texture(纹理)的新技术「Vertex Texture Fetching: VTF」(别名 Texture link)在那时深受欢迎。 首款对应SM3.0的GPU是NVIDIA发布的GeForce 6800系列意外的是ATI在2004年新登场的GPU、Radeon X800系列还是选择停留在只对应SM2.0。 NVIDIA的GeForce 6800系列。首款对应SM3.0的GPU再次从NVIDIA那边登场了。 Radeon X800系列是对应Vertex Shader 2.0a和像Piexl Shader2.0b扩展改良的SM2.0的GPU。2004年是两大巨头步调不一致用户混乱的一年。在把SM2.0称为“2.0” 的同时因为ATI和NVIDIA都独自扩张也出现了细节版本号的不一致。 2004年也是新的总线端口「PCI-Express」被开始使用的一年。显卡的总线迎来从AGP到PCI-Express x16总线的转移期。2004年2005年当用户要购买新图形卡或替换在选择「是SM2.0(ATI)还是SM3.0(NVIDIA)」的同时还要做[是AGP还是PCI-Express]这个纠结的抉择。 那么NVIDIA在第2年的2005年投入了第二代的SM3.0对应GPU「GeForce 7800」系列。作为一贯主张「2004年应该贯穿在SM2.0的成熟」的ATI在2005年比NVIDIA晚了1年半的时候投入了自己首款对应SM3.0的GPU「Radeon X1800」系列。但是Radeon X1800虽然支持SM3.0的基本特性但却没有对应VTF。 接着2006年NVIDIA发表第三代的对应SM3.0的GPU「GeForce 7900」系列与之对抗的是ATI的Radeon X1900系列的投入。两个公司虽然都是在前一代型号上100来定位下一个性能提高的产品除了性能方面以外也可以吸引眼球。再者ATI Radeon X1900系列也结束了没有VTF的状况。 虽然两大巨头GPU厂商ATI、NVIDA都已经推出对应SM3.0的GPU是一件好事不过关于VTF的支持两个公司的步调不一致。使得SM3.0的VTF成为了次要的功能是否支持这样的主要功能对用户和实时3D图形技术的进化给予了不小的影响这成为迎接即将到来的DirectX 10时代的一个大问题。待续 SM3.0中作为特殊功能而大受欢迎的[VTF]。但是因为ATI没有支持VTFVTF的效果只能在这个NVIDIA的Sample Demo里看到。 在家用游戏机的世界2005年末微软推出作为该公司的第二代游戏机「Xbox 360」。图形技术方面对应DirectX 9/SM3.0接下来将详细描述其具体性能值得注意的是Xbox 360 GPU(Xenos)有着世界首个采用统一着色器Unified Shader架构的特征。Xbox 360 GPU是由ATI制造的意外的是和同时期ATI对应PC发表的Radeon X1800系列设计完全不同这一点很有趣。之前推出的Radeon X1x00系列全部都没有对应VTF不过Xbox 360 GPU对应了。 微软「Xbox 360」。 Xbox 360的游戏软件「Gears of War」(2006年Microsoft)。实时3D游戏图形就此到来了。 Gears of War and the Crimson Omen are either registered trademarks or trademarks of Epic GamesInc. in the United States and/or other countries. All rights reserved. (C)2007 Microsoft Corporation. All Rights reserved. Microsoftthe Microsoft Game Studios logoXboxXbox360the Xbox logosXbox Live and the Xbox Live Logo are either registered trademarks or trademarks of Microsoft Corporation in the United States and /or other countries. 【千里马肝注关于Unified Shader下图可以作为一个很好的说明。如果把Unified Shader翻译成“统一架构”的话那么早期的就应该叫做“分离架构”。新架构的好处就是不会出现之前的vs很忙ps很闲或者ps很忙vs很闲能够最大限度的发挥所有着色器的能力以相同着色器数量规模实现更高的性能。】 2006年末索尼那边的新游戏机「PlayStation3」(PS3)被推出了。PS3的GPU由NVIDIA担任设计(索尼负责制造)虽然给予了「RSX」的专用名称但基本设计是与GeForce 7800系列大体上相同在图形技术上是和竞争的Xbox 360一样对应同世代的DirectX 9/SM3.0。 索尼「PlayStation3」。 「摩托风暴MotorStorm」(SCE Europe)。不单是图形的表现加上高度真实的物理模拟的特性使其成为被大受期待的PS3游戏。 MotorStorm TM (C)2006 Sony Computer Entertainment Europe. Published by Sony Computer Entertainment Inc. Developed by Evolution Studios. MotorStorm is a trademark of Sony Computer Entertainment Europe. All rights reserved. 新世代的游戏机战争应该称为「Xbox 360对PS3」之间的竞争实际上虽然表面若无其事但这里「ATI对NVIDIA」也展开了战斗。无论如何二大最新游戏机的图形一同成为可编程Shader 3.0的架构。PC和游戏机都进入了SM3.0的时代。 另外游戏平台的另一个强者任天堂投入了新世代游戏机「wii」不过图形技术上采用了并没有太多进化的方针。 【千里马肝注需要注意的是三台主机的发售时间分别为Xbox360是2005年11月PS3是2006年11月Wii是2006年11月比PS3晚几天。所以论GPU硬件而言Xbox360的C1/Xenos是基于ATI的R500修改的同时期的ATI X1800是R520核心而Wii的Hollywood性能与ATI X1300差不多RV515核心RV是低端产品的前缀通常是R的阉割版。相比同时代的显卡Wii图形不论是显存上、技术上、分辨率上都要差一大截。作为发售比Xbox360晚一年却选择了更低端的产品显示出Nintendo开辟一片蓝海的决心结果也如预期一样Wii的销售量一度等于XBox360和PS3的和。】 2007年 Programmable Shader4.0和DirectX 10的时代开始。 1年后DirectX的版本号更新和1990年代后期有差异DirectX 9从2002年开始的4年时间大概占据了Windows XP的全部生命周期。2006年后期发生了ATI被CPU制造厂商AMD收购的事件不过如果回顾一下的话2000年以后的实时3D图形历史实际上可以说是「ATI对NVIDIA」的战斗历史。 2007年初的时候微软早早的发表了新的操作系统「Windows Vista」。与这个同步作为新版DirectX的「DirectX 10」被前后大约耽搁了5年后也发布了。 在SM4.0中和SM3.0相比扩充了新的指令集具体的有追加了整数运算指令和二进制位运算指令因此像CPU那样通用程序的功能也被强化了。还有指令集对应顶点着色器和像素着色器的差异没有了微软把这个称为通用着色器common shader架构。 SM3.0和SM4.0的比较。 同时Texture(纹理)的访问数量从SM3.0的16个扩大为SM4.0的128个拥有共享指数E的新的Texture格式RGBE也被支持了。对应实时游戏的低负荷HDR渲染成为可能。 并且在DirectX 10/SM4.0中最大的改变是第三个可编程Shader[Geometry Shader]的加入。 因为直到现在把顶点相关的事务称为「geometry」的很多很多人也认为[Geometry Shader]和[Vertex Shader]是一个意思实际上是和Vertex Shader不同的但是在[处理顶点相关信息]这点上和Vertex Shader一样。 Geometry Shader功能是可编程的增减顶点正确把线段多边形粒子等图元(Primitive)进行增减。 【千里马肝注以本人的经验Geometry Shader因为加入时间的关系在早期的显卡中可能是硬件上的原因其实是由display driver来实现的意思也就是software方式即CPU的处理而不是在GPU管线上实际意义的hardware方式实现所以其效率非常低下。不过貌似直到现在为止Geometry Shader的效率一直都没有得到什么根本上的改善。】 并且用作呼应在顶点处理阶段增加Geometry Shader处理的形态也新增了把Vertex Shader 或 Geometry Shader 的输出在显存上的功能写回输出功能Stream Output的结构。依靠这个功能在顶点阶段类似的[Vertex Shader-Geometry Shader-Vertex Shader]的重复处理成为可能。 让Geometry Shader和Stream Output的组合使得高细节3D模型的变形加工无保留的成为可能。使用GPU做CPU那样的通用处理为目的的GPGPU(General Purpose GPU)的用途也很有价值。期待这个广泛的应用。 DirectX 9/SM3.0的渲染管线     DirectX 10/SM4.0的渲染管线 DirectX 10/SM4.0是Windows Vista专用的因为严密的版本控制没有产生分支版本。 DirectX 10/SM4.0也发表了在Windows Vista上的独占性提供方针Windows XP和以前的操作系统并不支持。虽然微软在Windows Vista销售之前宣称「Windows XP的支持延长」但「DirectX 10/SM4.0是Vista及之后版本专用」的方针并没有改变实质性的实时3D图形的进化交给了Windows Vista和以后的操作系统。 实际上DirectX 10/SM4.0只提供给Windows Vista专用主要的原因是驱动模型的大幅度改变。 DirectX中的图形子系统Direct3D在设计之初并没考虑到会被同时被多个应用程序使用的情况。而在Windows Vista里图形用户界面是使用Direct3D 9(Ex)来实现的Direct3D 10也被另外实现。同时让多个3D应用程序运行对应GPGPU的用途也进入视野旧的单线程设计很不方便伴随着Windows Vista的大变革而被发布的DirectX 10/SM4.0对应了多线程采用了运行稳定性更高的新的GPU驱动程序架构。这就是「WDDM : Windows (Vista)Display Driver Model」。 【千里马肝注Windows Vista中的Aero效果就是直接使用的Direct3D实现的当使用WinTab快捷键切换程序时窗口被渲染在Render Target上以立体的方式展现出来同时标题栏还使用了blur的shader以实现模糊的毛玻璃效果。】 WDDM驱动程序分为用户模式和内核模式这个设计使得来自应用程序的错误驱动控制很难引起系统的崩溃。还有按照GPU硬件的多线程对应程度分为WDDM1.0/2.0/2.1等版本。WDDM 1.0负责实现DirectX 9和针对以前的旧设计的GPU而以DirectX 10为目的开发的GPU则由WDDM 2.0及以后版本的实现来提供。1.0和2.0/2.1的差别实际是对应多线程等级的不同1.0对应的是非抢占式多线程Non Preemptive Multi-thread, 2.0/2.1是对应的是抢占式多线程Preemptive Multi-thread另外2.0和2.1的区别主要是多线程粒度上的差异2.1可以在更细小的目标内做线程切换。 Windows Vista的图形子系统。 非抢占式是自发的进行线程切换的多线程实现方法抢占式是用分时技术Time Sharing,自动的切换线程的多线程实现方法。 【千里马肝注Windows Vista之前的display driver是运行在kernel-mode的所以有句话是“75%的蓝屏都是由display driver引起的”原因也是相比其他的driverdisplay driver最为活跃如此复杂的driver也是由人编写的难免会有bug于是导致了系统的不稳定。那么从WDDM开始display driver基本上是运行在user-mode的为什么说是“基本上”那是因为还有小部分的核心模块“一般被称作mini port driver”依然放在kernel-mode于是即使display driver长时间未响应或是崩溃了不仅有Timeout Detection还可以Recovery于是系统相对来说更稳定了。】 从DirectX8开始的可编程Shader虽然有SM1.x/2.0/3.0的版本制定但是每次由于GPU制造厂商的独自扩展最终变得混乱。这样的分支版本混在一起不仅仅用户挑选产品很难来自软件业界的排斥也很大。这样微软在DirectX 10以后把DirectX 9之前存在称为 Caps(Capability Bits Test)的这种用作检测图形特性是否支持的结构废弃了而进行严密的版本控制的方案。由于这个方案宣称对应DirectX 10/SM4的GPU必须能实现DirectX 10/SM4.0全部的功能。DirectX 9/SM3.0时代那种NVIDIA支持VTFATI不支持VTF的事在DirectX 10/SM4.0的时代不会再发生。 【千里马肝在Direct3D9的年代因为后缀abc等多个版本中新增了大量的新特性作为开发者无法保证使用的特性是否被支持于是必须通过提供的caps接口来检测如果不支持要么必须关闭该功能要么必须另行实现一套实现达到类似的效果导致了开发难度的增加。】 这样一旦实时3D图形的基本功能的实现告一段落今后的功能强化, 因为有很高的复杂度原因有必要经过业界团体的严格讨论.。 统一着色器Unified Shader架构和全新的DirectX。 对应DirectX 10/SM4.0最先登场的GPU是NVIDIA的GeForce 8000系列。之后竞争对手ATI(AMD)才投入了RADEON HD2000系列。 NVIDIA最先发布了对应DirectX 10/SM4.0的GPU NVIDIA「GeForce 8800 GTX」。 ATI和NVIDIA两个公司对应DirectX 10/SM4.0的GPU在硬件特征上的共同点上是采用了[统一Shader架构] (Unfied Shader Architecture)。 在可编程shader上虽然有Vertex Shader、 Pixel Shader以及新的Geometry Shader三种但在渲染场景中的使用情况相对于Vertex ShaderPixel Shader的负荷新的Geometry Shader在应用程序里的使用很有限并没有太多需要使用的场合。之前的Vertex Shader、Geometry ShaderPixel Shader数量固定的Shader Unit分配设计其实浪费比较大。各Shader虽然确实在完成各自特有的作用但实际演算内容是以向量或矩阵计算为主体各Shader间并没有太大差异。 如果是那样要准备大量的“通用”的可编程Shader Unit对应不同的运算把它们作为Vertex shader、Geometry ShaderPixel Shader来启用难道不合理吗 这就是统一Shader架构的基本考虑方式.。 根据这个顶点负荷大时Vertex Shader能发挥到更多的效能Pixel Shader负荷高时Pixel会发挥更多的效能。 以前的GPU中一旦Vertex Shader或Pixel Shader任意一方出现瓶颈的话性能就无法提升而且也没法利用空闲的Shader Unit。 统一Shader 架构因为承担负荷的shader增加相应的瓶颈就降低了。 为了稍微看的明白图例上边是以前固定分配方式的架构下边是统一Shader架构。 虽然ATI比NVIDIA对于DirectX 10/SM4.0 GPU的推出要迟一些不过[统一Shader架构]实际上在2005年登场的Xbox360-GPU就里实现了对于新的架构ATI一方要略胜一筹尽管不是最早推出DirectX 10/SM4.0的GPU但在统一shader架构方面ATI其实是更早推出的。    2008年以后未来的DirectX「DirectX 10.1」和「DirectX 11之后」 DirectX 10是在2007年3月被发布的在旧金山召开的游戏者开发者大会GDC2007上微软提到了DirectX 10以后的规划。 先是DirectX 10的细小变更minor change版的DirectX 10.1发布Shader Model为4.1版。 作为扩展功能除了WDDM2.1正式支持以外扩张了多重采样方式的抗锯齿(MSAA:Multi-Sampled Anti-Aliasing)的采样位置的可编程化支持多个RenderTarget中个别的进行Present。SM4.0对于Cubemap Array支持机能的扩展进化也完成了。当然为了统一扩展的步调虽然10.1里包含了0.1的尾数但因为微软做了很好的版本控制并没有更多分支版本登场。 DirectX 10.1/SM4.1包含在2008年3月提供预定的Windows Vista Service Pack1里安装SP1后就可以使用。目前对应DirectX 10.1/SM4.1的GPU有AMD(ATI)Radeon HD 3000系列S3 Graphics也发表了对应的Chrome 400系列。不过另一方面NVIDIA表示不会推出对应DirectX 10.1/SM4.1的GPU。于是事实上对于DirectX 10的支持上AMD(ATI)和NVIDIA的决策开始出现了不同。 【千里马肝注2008年上半年谣传称NVIDIA在年底或者明年年初拿出一款支持DirectX10.1的显示卡但NVIDIA公开辟谣称DirectX10.1相比DirectX10变化太少NVIDIA会直接提供对DirectX11的支持。DirectX10.1对NVIDIA显示卡性能提升无任何帮助所以NVIDIA并没有必要去迅速跟进。】 AMD的ATI Radeon HD 3870最早对应DirectX 10.1/SM4.1的GPU。 S3 Graphics的Chrome 440GTX以比主流的对应DirectX 10.1/SM4.1 GPU更便宜的价格吸引购买者。 并且在这个时候微软预定发布DirectX 11。 对于DirectX 11和之后版本中会实现那些功能虽然还未定但明确的是会带来几个大的变革。 1个是加入可以把GPU更加灵活利用成通用处理器的结构。特别是似乎最初要计划作为媒体处理器的流处理器在此以后会更容易被使用。具体的还讨论了把向GPU输送的向量数据结构朝着更灵活的目标扩展用GPU把处理后输出的数据流在每个处理结果上做交换分配在多个缓冲buffer的结构。 还有为了对应3D图形以外的科学技术计算用途对应的演算精度从现在的单精度提到双精度64位小数FP64。在性能性方面进行那样的对应就不用说了为了把那样做成通用处理器的性能强化应该要寻求在GPU上的内存随机存取性能的强化和缓存系统的改良的要求。 并且除了DirectX 10/SM4.0的Geometry shader以外在DirectX 11以后的渲染管线上加入了新的处理Stage这个就是[Tessellation]阶段。Tessellation如果简单的说是遵从某种方法把多边形分割的结构。从DirectX 9/SM2.0开始开始支持Tessellation但限定在特定的GPU上使用并不是主流机能。但是在DirectX 11之后这个被规定作为正式的标准机能。还有进行Tessellation的单元也就是[Tessellator]最初并不是可编程Shader而是表明作为固定功能单元提供的方针。顺便说下虽然现在并不是DirectX的规格不过Radeon HD 3000系列搭载了作为固定机能的Tessellation单元。这个会不会成为DirectX 11的正式配置现在还不明了。 Tessellator 虽然是是固定单元但是作为替代把进行多边形分割时的控制点在可编程上进行控制新设了被称为(Control Point Shader)的第4个可编程shader。这实际上应该说是辅助Tessellator工作的可编程shaderDirectX 11以后的版本也有进一步在未来的DirectX世代中被整合的可能性。 DirectX 11 以后的渲染管线想象图 至此在发表了DirectX 11之后为了从困扰实时3D图形多年的课题的透明对象的绘制顺序的束缚中解放把「A-Buffer」的概念用某种形态导入。 实时3D图形里为了避免半透明绘制不正确的情况需要把3D透明物体从远往近进行排序。当使用「A-Buffer」除了在渲染时Shader算出颜色以外要把轮廓mask信息和深度值信息等一起写入到FrameBuffer在最终绘制时虽然还是要绘制成合乎逻辑的影像但对于渲染有完全排除绘制顺序依赖性的优点。 本来A-Buffer是乔治•卢卡斯带领的Lucas Film设计成离线渲染用的技术是个在渲染开始时在GPU一方无法预料那个复杂性的结构。所以那个实时/硬件实装就被预想成相当复杂的结构。但是A-Buffer结构对于3D应用开发者和3D引擎设计者来说能大幅度的减少软件方面的负担它的实现被寄予了相当的期望。 DirectX 11登场时期还不太明了还有从第4个可编程shader被投入考虑绝对会是可编程shader的版本上再加1成为SM5.0。 A-Buffe的感念图在A上加入了anti-aliased area-averaged accumulation等多个含义。
http://www.hkea.cn/news/14537605/

相关文章:

  • wordpress iis网站seo视频狼雨seo教程
  • 学校网站建设的建议建网站需要了解哪些网站建设知识
  • 出口网站制作威海有名的做网站
  • 成都科技网站建设费电话卡免费申请
  • 哪个网站上做ppt比较好看的图片潍坊网站建设哪家好
  • 网站建设的五大原则wordpress用户登录注册插件
  • 高端酒店网站模板网站建设销售培训语
  • .net网站做优化视频网站建设需要多少钱
  • 西部数码网站管理助手 破解版上海十大装修公司排名榜单
  • 网站开发目前主要用什么技术产品推广营销
  • 做网站的背景像素郑州网站设计排行
  • 南宁好的网站建设公司做网站设计能赚钱吗
  • 济南市住房建设网站织梦如何仿手机网站源码
  • 建设门户网站需要注意什么深圳常平网站建设制作公司
  • 南通做网站互联网信息平台
  • 销售网站制作电话那些网站被k恢复是怎么做的
  • 旅游网站设计模版上海网站开发团队
  • 做网站为什么赚钱吗谷歌优化培训
  • 网站关键词优化价格html5做网站
  • 网站建设邯郸专业做婚庆的网站有哪些
  • asp网站如何安装网站联系我们的地图怎么做的
  • 网站营销理念一个主机多个网站
  • 中国建设银行网站公积金查询余额帮朋友做网站 知乎
  • 网站开发环境ide网站建设平台的分析
  • 济宁网站建设 智雅仿蘑菇街wordpress主题
  • 威海营销型网站建设软件开发外包方案
  • 微信网站开发服务外包学校网站建设阶段性目标
  • 中商外贸网站企业官方网站模板下载
  • 用wordpress做的博客百度关键词seo推广
  • 福州网站开发公司正品又便宜的购物网站