|
个人认为经调试无误的shader,没有必要再在程序执行过程中调用D3DXCompileShaderFromFile。
我已经尝试过先用D3DXCompileShaderFromFile产生shader目标码,将它保存到一个文件内,而另一个程序读取目标码到缓冲区,这个缓冲区指针为void *pCodeBuffer,利用pDevice->CreateVertexShader((DWORD*)pCodeBuffer, &BasicShader)可以成功创建一个shader。
现在的主要棘手问题是,常数表接口ID3DXConstantTable应该如何处理,以便将变量值传递给shader,好像ID3DXConstantTable除了用D3DXCompileShaderFromFile取得以外,没有可行的构造方法啊? |
|