SlimDX加载预编译着色器

时间:2012-08-21 23:46:36

标签: c# .net-4.0 shader slimdx

我正在尝试在SlimDX(Direct3D11)中加载预编译着色器,但我不知道该怎么做。

我搜索了这个主题,但只发现了针对C ++本机版DirectX的解决方案。好像是/ Gch编译选项和device-> CreatePixelShader(data,ps)。

问题是,我在SlimDX中找不到这个功能。 SlimDX中的函数在运行时编译着色器。

如何在SlimDX中加载预编译的着色器?

1 个答案:

答案 0 :(得分:4)

考虑到你的着色器二进制文件保存在byte []字节码中(因为我不确定你从哪里加载它,但它只是保存后的二进制数据)

DataStream ds = new DataStream(bytecode.Length, true, true);
ds.Write(bytecode, 0, bytecode.Length);
ShaderBytecode bc = new ShaderBytecode(ds);

然后加载dx11效果:

Effect effect = new Effect(device,bc);