|
|
发表于 2007-3-30 09:10:00
|
显示全部楼层
Re: 请教一个PixelShader的硬件问题
估计是你的第一个参数"pFunction"填的不合适吧. 参考这段代码试试:
//shader constant tables
ID3DXConstantTable* postProcessPSConstTable;
IDirect3DPixelShader9* postProcessPS;
//load & compile shaders
ID3DXBuffer* shader;
ID3DXBuffer* errors;
hr = D3DXCompileShaderFromFile(" ostProcessPixelShader.hlsl",0,0,"main","ps_2_0",
D3DXSHADER_DEBUG,&shader,&errors,&postProcessPSConstTable);
if(errors) {
::MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0);
SAFE_RELEASE(errors);
}
if(FAILED(hr)) {
::MessageBox(0, "CompilePostProcessPS() - FAILED", 0, 0);
return E_FAIL;
}
if(FAILED(device->CreatePixelShader((DWORD *)shader->GetBufferPointer(),&postProcessPS))) {
::MessageBox(0, "CreatePostProcessPS() - FAILED", 0, 0);
return E_FAIL;
}
|
|