DirectX - 像素着色器 3.0 不工作

DirectX - Pixel Shader 3.0 doesn't work

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

让像素着色器在硬件中工作是否需要一些特殊的东西?

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