Windows store apps 为Windows应用商店DirectX应用程序实现着色器动画

Windows store apps 为Windows应用商店DirectX应用程序实现着色器动画,windows-store-apps,hlsl,directx-11,Windows Store Apps,Hlsl,Directx 11,我正在尝试在Windows应用商店DirectX应用程序中实现着色器动画。实际上,我只想实现我在下面链接中看到的相同动画(针对DirectX 9和C#实现) 我能找到DirectX 11.1(Windows Store App兼容DirectX着色器)的方法,但是我看不出我如何将时间参数传递给来自C++程序逻辑的着色器代码,这样我就可以影响着色器状态,并且根据时间有不同的效果。 如果您有意见,请分享。要将参数传递给着色器,可以使用constantbuffers()。创建constantbuff

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

<>我能找到DirectX 11.1(Windows Store App兼容DirectX着色器)的方法,但是我看不出我如何将时间参数传递给来自C++程序逻辑的着色器代码,这样我就可以影响着色器状态,并且根据时间有不同的效果。
如果您有意见,请分享。

要将参数传递给着色器,可以使用constantbuffers()。创建constantbuffer,用数据(例如,实际时间)填充它,然后使用

   ID3D11DeviceContext::GSSetConstantBuffers
   ID3D11DeviceContext::PSSetConstantBuffers
or ID3D11DeviceContext::VSSetConstantBuffers.

谢谢,这正是我想要的。然而,它的名字有点误导人。您知道为什么这些缓冲区被称为常量吗?因为它们描述的数据是常量,所以在您的绘制调用期间,所有着色器单元之间不会发生变化:)