在GLSL着色器中,由于各种原因(例如,使用四个函数来应用光照,纹理,镜头和雾的片段着色器,我经常需要一些函数来修改单个值)。我可以考虑至少三种方法来传递这些值进行修改:
inout
个参数。in
参数传递并使用返回值(明显的缺点是我只能使用一个值)。我是否应该期望这些方法之间存在任何实际差异?有些人可能比其他人更快吗?有些人比其他人更兼容吗?还有其他差异吗?或其他方法,就此而言?
或者我可以简单地选择一个我最喜欢的风格吗?
答案 0 :(得分:0)
这种优化主要取决于底层的GLSL编译器。在不同的GPU上分析您的着色器:AMD,nVidia,Intel并选择最佳代码路径。