【问题标题】:Implementing shader animation for Windows Store DirectX App为 Windows Store DirectX App 实现着色器动画
【发布时间】:2012-12-11 04:40:33
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: windows-store-apps hlsl directx-11


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,这正是我想要的。然而,它的名字有些误导。你知道为什么这些缓冲区被称为常量吗?
    • Afaik 因为它们描述的数据是恒定的,因此在您的绘图调用期间不会在所有 shaderunits 之间发生变化 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多