Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试在 SlimDX(Direct3D11) 中加载预编译着色器,但我不知道该怎么做。
我搜索了这个主题,只找到了 DirectX 的 C++ 本机版本的解决方案。似乎 /Gch 编译选项和 device->CreatePixelShader(data,ps)。
问题是,我在 SlimDX 中找不到这个功能。SlimDX 中的函数在运行时编译着色器。
如何在 SlimDX 中加载预编译的着色器?
考虑到您的着色器二进制文件保存在 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);