2014-07-18 28 views
2

我对DX11和PSD文件有一个奇怪的问题。我知道它说DX11不支持PSD文件,但是它会在我的开发机器上加载RGB PSD。出于某种原因,如果存在,它会忽略alpha通道。当我在另一台机器上运行这个相同的程序时,它会按记录失败并且没有加载纹理。使用D3DX11CreateShaderResourceViewFromFile加载.PSD文件

有没有人看过这种行为? Microsoft是否在稍后的DirectX更新中添加了对PSD没有记录的支持,等等?

两台机器都运行2010年6月SDK,唯一的区别是我可以看到的是我使用的是Win7 Professional SP1(它的工作原理),另一台机器是Win7 Ultimate没有Service Pack(不起作用)。

有没有人知道一个很好的方法让PSD进入DX11?我们的管道是PSD本地的,所以我们宁愿将它们直接加载到内存中。目前我们通过外部程序转换为BMP,但速度很慢。

感谢

+1

就像在黑暗中刺中,但可能是因为您在一台机器上安装了PSD Windows Imaging Component(WIC)编解码器,但没有安装其他机器。 –

+0

这正是它的原因。看来,在我开发这台机器的多年时间里,我甚至没有意识到这个组件。谢谢! – Damian

回答

1

按照罗斯里奇的评论,这是PSD Windows图像处理组件(WIC),使您可以读取PSD文件到DX11纹理。但请注意,它不会读取alpha通道,只是PSD的RGB。对于大多数目的来说这很好。