没有用于验证着色器的工具.即使有,但它对你没有用,因为如果它不能在你想要的硬件上运行,那么着色器有什么用呢?您可以随心所欲,但如果您的硬件拒绝它,即使您在技术上正确,您的着色器仍然无法运行.
如果特定版本的着色器在一个目标上编译(称为A)而不在另一个目标上编译(称为B),则可能是由于以下问题之一:
如果您仅使用NVIDIA硬件开发,则更有可能发生#1.NVIDIA使用OpenGL规范有点快速和宽松.他们会在这里和那里采取一些自由,平滑一些规范所说的不愉快的事情.它可以提供更流畅的开发人员体验,但如果着色器不在竞争对手上运行,它还有助于保持供应商使用NVIDIA硬件;)
#3几乎不存在,但有例外.您链接到Photoshop着色器,因此我认为您无法控制OpenGL上下文的创建和管理.即便如此,我仍然怀疑Photoshop会使用核心环境; 他们有太多需要向后兼容的着色器.
解决这个问题的最佳方法是在AMD和NVIDIA硬件上进行测试(如果你需要在那里运行,还要测试英特尔).您可能不需要测试每种可能的系统组合,但选择Radeon HD卡和GeForce 200或更高版本.他们甚至不必是高端的.
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |