文件名称:和在着色器中加入面向对象编程概念-万历十五年。万历十五年
文件大小:5.06MB
文件格式:PDF
更新时间:2024-06-29 09:53:02
shader
着色器模型 5.0 和在着色器中加入面向对象编程概念 HDR 和 LDR 图像的 BC6 和 BC7 纹理压缩 增强的贴图(纹理)分辨率 等等 (注意:应用与几何体表面的图片资源叫做贴图或者纹理。就是经常提到的彩色图像被映射到表面使 得表面看起来更加的细致) DirectX 11 更像是 DirectX10.1 的一个增强版本而不像从 DirectX9 到 DirectX10 的主版本升级。微软在 DirectX10 上做了冒险的尝试,不仅要求新的硬件支持而且 windows 的版本最低也要求 Vista。几年过去了,现在来看微软所 做的冒险有了回报,因为不仅得到硬件的广泛支持,而且 windows 用户的主要群体现在已经升级到了 Vista 和 Win7 操作系统。DirectX 已经被将来的考虑所采用(译者注:这里主要是指 DirectX10 和 11),并且随着次世代游戏的多年 发展,DirectX11 在未来将会变得越来越重要。 DirectX 11 与 OpenGL 4.0 的比较 OpenGL 很长时间被作为 Direct3D 的图形 API 的对手所考虑。OpenGL 支持 Windows 操作系统以外的平台,比如 Mac,LinuxOS,iPhone 和 iPad,Sony 的 Playstation3(至少有一个实现),和各种各样的移动设备比如手机和 PDA,还 有其他的平台。虽然本地设备所支持的 OpenGL 能够从一个平台到另一个平台,但 API 核心被设计为平*立的, 不包括拥有很长历史的硬件设备扩展和来自于不同 OpenGL 版本的竞争对手的特性。DirectX,一方面在所有的不同 版本的 WindowsOS 和 Xbox 游戏机都有效,而且还考虑了 DirectX10 和 11 的兼容性,硬件必须提供一个严格的兼容 性列表,说明在DirectX10之前的不同情况。而在此种情况下对于硬件厂商所提供的特定扩展OpenGL是工作受限的。 硬件市场的各种不兼容性导致要想在所有支持的设备上实现同样的效果需要做各种重复的工作。 整个的 Direct3D 和 OpenGL 的争辩历史,就好像不同宗教的教徒之间的斗争一样,但是事实上 OpenGL 已经落 后于 Direct3D 多年。微软在 Direct3D 上投入了巨大的工作量并且通过了多年的改进,OpenGL 不仅已经落后,而且 也没有履行发布新版本的承诺(译者注很长时间主版本都是 2),而且一次又一次的多年遭受同样的问题困扰(译者注: OpenGL 各厂商之间的内讧)。当 OpenGL3.0 发布时,OpenGL 的世界已经落后 Direct3D 太多。不幸的是,在 OpenGL 世界,后面所支持它的厂商围绕怎样与 Direct3D 的 API 对抗进行着此起彼伏的讨论时,Direct3D 已经获得了统治地 位。 OpenGL4.0 展现了许多 DirectX11 所拥有的特性,最引人注目的是使用 OpenCL 来支持 GPU 的计算和对 Tessellation(细分曲面)技术的支持,现在的它很接近当年做出的各种没有行动的的承诺了,与 2.0 和 3.0 比较的话就 显得特别的耀眼了。尽管 OpenGL 不再是原地踏步,但是不幸的是,要想既要对抗 DirecX 而且赢回当年的核心地位 和已经转到 Direct3D 阵营的人们(那时 OpenGL 的错误决定太多)的心还需要做大量的工作。图形 API 直接的比赛就好 像是高中时流行的跳山羊赢选票比赛一样。 为什么需要 DirectX 在 Windows 视窗操作系统发布之前,开发者们都在 DOS 上写游戏。那是一种单线程,非 GUI 界面的操作系统, 它提供开发者在他们的应用程序和底层硬件直接交互的方式。这种方式有利也有弊,比如因为游戏代码是直接驱动 底层硬件的,开发者能够压榨机器的每一寸资源和能力,当他们的游戏执行时给他们的硬件的完全控制权。而消极 的一面是需要为每一种硬件写直接的驱动代码或者他们的游戏想要得到任何硬件的支持需要各种各样的第三方库,