DirectX - Pixel Shader 3.0 doesn't work

本文关键字:work doesn Pixel Shader DirectX | 更新日期: 2023-09-27 17:55:07

我已经在一个3D项目上工作了很长一段时间了,从一个引擎中显示模型文件。我用c#编写它,并使用Managed DirectX包装器(我知道它是旧的和过时的,但我有我自己的理由使用它)。我需要编写一个像素着色器来进行纹理混合和照明,但ps 2.0对我的着色器来说太有限了,我需要使用ps 3.0。它在软件渲染(DeviceType设置为Reference)上工作得很好,在ps 2.0的硬件上也工作得很好,但是当我使用硬件加速时,像素着色器就停止工作了。做了一些研究,我发现我的GPU(英特尔GMA 950)只支持ps 2.0,好吧,这一定是问题所在。问题是,我让一些朋友测试我的应用程序,他们都遇到了同样的问题(其中一个甚至有一个Geforce GTX650,应该支持SM 5.0)。像素着色器不做任何事情,模型只是保持顶点的颜色。

有什么特别需要使像素着色器工作在硬件?

DirectX - Pixel Shader 3.0 doesn't work

我解决了重新安装SDK并将Microsoft.Direct3DX.dll更改为1.0.2911.0(2006年4月)版本的问题,现在它可以在支持ps 3.0的显卡上正常工作。谢谢大家。