gpt4 book ai didi

glsl - 在 GLSL 中传递值的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-01 06:43:28 28 4
gpt4 key购买 nike

在 GLSL 着色器中,出于各种原因,我经常需要几个函数来修改单个值(例如,片段着色器使用四个函数来应用照明、纹理、镜面反射和雾化)。我可以想到至少三种方法来传递这些值进行修改:

  • 使用 inout每个函数的参数。
  • 将值作为 in 传递参数并使用返回值(这有一个明显的缺点,我只能使用一个值)。
  • 使用每个函数修改的全局变量。

  • 我应该期待这些方法之间的任何实际差异吗?有些人可能比其他人更快吗?有些比其他的更兼容吗?还有其他区别吗?或者其他方法,就此而言?

    或者我可以简单地选择我最喜欢的风格吗?

    最佳答案

    这种优化主要取决于底层的 GLSL 编译器。在不同的 GPU 上分析您的着色器:AMD、nVidia、Intel 并选择最佳代码路径。

    关于glsl - 在 GLSL 中传递值的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957594/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com