首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows应用商店应用程序着色器模型4_0_level_9_3和VPOS

Windows应用商店应用程序着色器模型4_0_level_9_3和VPOS
EN

Stack Overflow用户
提问于 2012-11-01 04:04:24
回答 1查看 1.5K关注 0票数 7

为了为Windows Store应用程序(和Windows phone8)着色器模型4__level_9_3构建着色器,您需要使用vs_4__level_9_3和ps_4__level_9_3。虽然使用为DirectX 10和更高版本设计的HLSL语法听起来不错,但我无法使用DirectX 9中的SV_POSITION语义,也无法在像素着色器中使用DirectX 10和更高版本中的SV_POSITION,那么除了为输出剪辑空间中的顶点位置创建另一个语义之外,我还能做什么呢?

PS: 4__level_9_3上的一些着色器显示了一个“内部错误: level9和d3d10着色器之间的斑点内容不匹配”,我不知道这是怎么回事。可能与驱动程序不一致,我认为(我使用的是Nvidia GTX 560 TI),如果你只是用释放标志(如优化级别3和避免流量控制)编译你的着色器,它就会消失。

EN

回答 1

Stack Overflow用户

发布于 2013-08-31 07:21:54

正如您所说,您最好的选择是将这些值作为辅助语义传递(即同时传递"POSITION“和"SV_POSITION”值)。请注意,如果将SV_POSITION放在顶点着色器的输出声明的末尾,则可能会在像素着色器的输入声明中省略它。

关于内部错误,这通常是由于声明了纹理或其他着色器输入,这些输入在一个过程中优化了,但在另一个过程中没有优化。禁用优化通常可以解决这个问题,但您也应该能够通过消除未使用的(包括通过消除死码)输入声明来修复它,并确保您避免复杂的代码,从而减少到无操作。

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

https://stackoverflow.com/questions/13166631

复制
相关文章

相似问题

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