中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 5123|回复: 3

DX11里面的DXUT操蛋了,不支持中文了。

[复制链接]
发表于 2012-11-2 23:27:18 | 显示全部楼层 |阅读模式
本帖最后由 Gavin 于 2012-11-2 23:34 编辑

      我记得当年DirectX9的2005年10份版,放了一个CustomUI的例子,里面各种UI控件都有,又简介又漂亮,还能中文输入。现在DX11出来了,想看看它的例子。结果侧漏般的发现DXUT不在支持中文了。
       跟踪了一下代码发现画文本的函数里面有个判断,就是ACS码如果是小于32和大于126的,就continue不处理了。DXUT把文字当做图片处理,要分UV给精灵。中文歇菜了,在DXUT里面。DXUT真没节操。
       现在有什么开源GUI库支持DX11的?求大仙指点下,谢谢!CEGUI不行,耗内存,也不支持DX11。
发表于 2012-11-3 00:30:03 | 显示全部楼层
Scaleform GFX 我现在的项目就是用这个。
发表于 2012-11-3 09:41:35 | 显示全部楼层
API设计方面,一直有convenience camp和minimalist camp之争。早期Windows的开发比较自由,很多API都是开发者觉得有用就加了,使我们用的时候很方便。但随着代码年龄越来越大,物是人非,这些大量的旧代码对后来的维护者成为了一个挑战。尤其是系统设计已经大幅改变,之前的convenience API已经和新架构不吻合,继续保持兼容变得困难。

DirectX的发展历程很典型的体现了这一点,一直到8、9,都是向convenience方向发展,而10、11则是向minimalist方向发展,把上层的工作都推给了使用者。

这种变化既有微软战略转型的原因,也有整个软件行业向软硬件捆绑模式回归的原因。理解后者需要了解SoC,就是System on Chip。现在是硬件异构化、专用化的大发展时期,一个庞大的系统API难以跟上快速演变的硬件异构分化,所以会偏向精简系统,而缺失的convenience API则由开源社区的各种库来填补。

所以,现在的开发人员需要理解,象D3D10/11这种API,是不适合直接用来开发应用的,因为它被设计成高效的提供硬件功能,会随着硬件发展而改变。对于需要长期维护的应用,自己设计或选择一个市场上已有的中层抽象层或高层的引擎,是一个比较好的选择。
发表于 2012-11-5 10:17:35 | 显示全部楼层
API设计方面,一直有convenience camp和minimalist camp之争。。。


分析得不错,获益匪浅啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-10-19 22:23 , Processed in 0.052510 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表