SM3.0的全称是Shader Model 3.0,你可以把它理解成一套“图形特效指令集”。在2006年左右,这玩意儿可是高端显卡的标配。它比之前的SM2.0强在哪儿呢?最直观的就是支持更复杂的画面效果,比如游戏里水面的波浪光影、爆炸时的气浪细节,还有那种叫“Parallax Mapping”的凹凸纹理技术,都能做得更真实。当时像《帝国时代3》这样的游戏,如果显卡不支持SM3.0,水面效果就会大打折扣。不过也有例外,比如《黑与白2》就专门为ATi的X800这类只支持SM2.0的显卡做了优化,让它能模拟出类似SM3.0的效果——但这属于“特事特办”,不是普遍情况。
DX10的野心:它根本不是来“兼容”谁的
2006年微软宣布DX10的时候,很多人以为它会像以前那样向下兼容老技术。但事实是,DX10直接带来了全新的Shader Model 4.0。这就好比从功能手机跳到智能手机:虽然都能打电话,但底层架构完全不同了。DX10的SM4.0有几个关键升级:支持更长的着色器程序、动态流程控制、几何着色器等等。这些变化让游戏开发者能实现更复杂的特效,比如当时惊艳众人的《Crysis》里的植被渲染和物理破坏效果。但问题是,SM4.0和SM3.0的指令集不互通,就像iOS和安卓应用不能直接混用一样。