1

我正在尝试在 Windows Store DirectX App 中实现着色器动画。实际上,我只是想实现在下面的链接中看到的相同动画(针对 DirectX 9 和 C# 实现)。

http://www.rastertek.com/dx10tut33.html

我有点能够找到使用 DirectX 11.1(与 Windows Store App 兼容的 DirectX 着色器)的方法,但我看不到如何将时间参数从 C++ 程序逻辑传递给着色器代码,以便我可以影响着色器状态和根据时间有不同的效果。

如果你有一些意见,请分享。

4

1 回答 1

2

要将参数传递给着色器,您可以使用常量缓冲区 ( msdn )。您创建一个常量缓冲区,用您的数据填充它,例如实际时间,然后将其设置在所需的着色器中

   ID3D11DeviceContext::GSSetConstantBuffers
   ID3D11DeviceContext::PSSetConstantBuffers
or ID3D11DeviceContext::VSSetConstantBuffers.
于 2012-12-10T20:40:33.703 回答