是否可以在不使用D3DX函数的情况下创建着色器?
发布于 2011-04-19 17:38:43
从D3D9开始,D3DX编译器是HLSL库的一部分。要在HLSL中编写着色器,必须使用D3DX。
但是,还有IDirect3DDevice9::CreatePixelShader和IDirect3DDevice9::CreateVertexShader,它们从着色器字节码创建着色器句柄,即从HLSL编译器生成的内容创建着色器句柄。
您可以脱机运行HLSL编译器(参见D3DXCompileShader),将机器代码保存到一个文件中,并在运行时使用上述函数加载它。遗憾的是,这意味着您不能依赖于由D3DX框架完成的工作。在这种情况下,上传常量和优化更改完全取决于您。
https://stackoverflow.com/questions/5713993
复制相似问题