0

我正在使用 SharpDX 运行计算着色器,并为某些输入使用常量缓冲区。我自己创建常量缓冲区并在计算着色器中使用它们,如下所示:

// 'device' type is SharpDX.Direct3D11.Device
// 'constBuf' type is SharpDX.Direct3D11.Buffer
device.ImmediateContext.ComputeShader.SetConstantBuffer(0, constBuf);

我想开始使用 SharpDX.Toolkit 来管理常量缓冲区。Toolkit 给了我类型的对象SharpDX.Toolkit.Graphics.Buffer。如何使用它为我的计算着色器设置常量缓冲区?

4

1 回答 1

0

xoofx 在评论中回答了我的问题,所以我将在此处复制它。

我不完全了解 Toolkit 中的常量缓冲区有什么好处。唯一的好处是使用 Effect 框架(其中常量缓冲区处理完全隐藏),但这需要对您的代码进行一些重大更改。否则,您可以像在着色器中使用它们一样使用此缓冲区。Toolkit 中的缓冲区无论如何都可以转换为 Direct3D11.Buffer,因此您可以尝试。

于 2013-03-21T13:58:36.570 回答