1

使用着色器后如何返回 ffp?在 OpenGL 中,您只需绑定着色器 0 和纹理相同,这在 DX 中并不明显,无论它是否相同,我无法辨别。

4

1 回答 1

3

如果您使用效果,适当的调用应该保存effect->Begin()effect->End()恢复管道状态。如果之前使用FFP Begin(),之后应该会恢复这种状态End()

如果不使用效果,可以设置空着色器。来自MSDN

要设置固定功能顶点着色器(在设置可编程顶点着色器之后),调用 IDirect3DDevice9::SetVertexShader(NULL) 以释放可编程着色器,然后以固定功能顶点格式调用 IDirect3DDevice9::SetFVF。

于 2013-09-01T17:39:21.890 回答