首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地铁中的D3D11不支持D3DReflect?(为什么不呢?)

地铁中的D3D11不支持D3DReflect?(为什么不呢?)
EN

Stack Overflow用户
提问于 2012-08-29 21:48:38
回答 1查看 812关注 0票数 2

D3D11 in Metro不支持D3DReflect

为什么不呢?

我的API使用它来动态获取着色器的常量缓冲区大小。在没有ID3D11ShaderReflection 对象的情况下,D3D11中是否有其他方法动态获取常量缓冲区大小?还是按名称获取常量变量?

  • 如果我想为Metro制作一个着色器编译器工具呢?
  • 我想要制作一个Art应用程序,它允许您动态生成复杂的画笔,需要生成着色器。但这不管用。

Windows(Desktop)OSXLinuxiOSAndroid有这些限制吗?

不,那怎么会有地铁呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-30 06:44:55

有关它的一些讨论,请参见http://social.msdn.microsoft.com/Forums/en-US/wingameswithdirectx/thread/9ae33f2c-791a-4a5f-b562-8700a4ab1926

没有官方的立场来解释他们为什么做出这样的限制,但这与WinRT上的动态代码执行的整个限制非常相似。因此,不幸的是,您的应用程序场景是不可能的。

尽管,攻击/修补d3dcompiler_xx.dll并重定向所有dll导入调用另一个只使用授权API的DLL是可行的,但这是一项相当大的工作,甚至不确定这是否合法(即使从原始d3dcompiler中提取dll代码并重新构建一个新的dll)。

您的方案的另一个选择是将着色器通过互联网发送到服务器,该服务器编译并返回字节码和反射信息.远非完美。

在您提到的平台中,可能是iOS具有相同的限制(我没有在这个平台上开发,所以我无法确认)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12187008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档