【发布时间】:2012-12-07 06:48:26
【问题描述】:
我正在尝试学习使用 hlsl 为 DirectX Windows 应用商店应用编写 DirectX 着色器。
Visual Studio 2012 有一个很好的工具来帮助设计着色器,但由于我是着色器的新手,我无法解释导出的 hlsl 源代码并可能对其进行更改以微调着色器。
我实际上想要的是能够重用为 DirectX 9 编写的一些着色器(主要用于 XNA)。此外,net 有非常有用的教程来教授 DirectX 9 的着色器。我正在比较 DirectX 9 和 11 的着色器,但看不到如何将现有的 DirectX 9 着色器转换为我可能在 DirectX 11 中使用的着色器。
我认为我缺少一些基本概念来深入了解这方面的细节。请让我知道两个平台中着色器的区别。
将不胜感激参考文档或好的教程。
我看到的最大区别是 DirectX 11 着色器具有如下所示的主要功能,尽管旧的着色器没有。
P2F main(V2P pixel)
相反,他们有以下内容:
technique10 FireTechnique
{
pass pass0
{
SetBlendState(AlphaBlendingOn, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
SetVertexShader(CompileShader(vs_4_0, FireVertexShader()));
SetPixelShader(CompileShader(ps_4_0, FirePixelShader()));
SetGeometryShader(NULL);
}
}
【问题讨论】:
标签: directx windows-store-apps hlsl directx-11 directx-9