战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

   在龚敏敏的 《关于D3D11,你必须了解的几件事情系列》文章里看到DX11支持DX9特性的细节,特别在DX11的例子中试了一下。

我的显卡是Geforce GT440,跑DX11的例子没有大问题,修改了一下DXSDK里的最简单Shader例子,跑出来的结论是,DX9_3可以创建设备,但是在CreateVertexShader地方失败了,尝试将Shader编译版本降低到VS_2_0也是持续失败,于是乎证明了DX11的接口及引擎不能简单通过调节FEATURE_LEVEL来变成DX9级别跑, 最关键的是,DX11不支持XP,XP下跑DX11的例子直接就报找不到DLL。

因此,我觉得DX11里的DX9的兼容级别很蛋疼,毫无用处的东西。

龚敏敏的KlayGE引擎在某此升级时直接删除了DX11以前的所有插件,只使用OpenGL来兼容XP, 可喜的是OpenGL 4.0没有微软那么霸道及商业化,可以为XP提供DX11级别的特性,这才是趋势。

posted on 2011-09-29 17:52 战魂小筑 阅读(2171) 评论(1)  编辑 收藏 引用 所属分类: 渲染 Shader 引擎

评论

# re: 游戏引擎支持DX9, DX11, OpenGL 4问题 2011-09-30 12:33 Captain
d11对sm的支持貌似只支持4_0以上的,如果想支持之前的feature_level的话,写vs_4_0_level_9_1, vs_4_0_level_9_3这种就行,我刚才试了下。。不过貌似shader代码还是需要改下的,譬如本来ps输出还是得改成SV_Target啥的  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理