Opengl 在着色器编程中应在何时使用统一?

Opengl 在着色器编程中应在何时使用统一?,opengl,graphics,glsl,Opengl,Graphics,Glsl,在顶点着色器中,我仅使用一致性计算向量。因此,对于顶点着色器的所有实例化,此计算的结果是相同的。我应该在CPU上做这个计算,然后作为一个统一的文件上传吗?如果我有十个这样的计算呢?如果我以这种方式上传大量制服,CPU-GPU通信是否会变得如此缓慢,以至于在顶点着色器中重新计算此类值实际上会更快?我实际上取决于制服/顶点计数比率。如果顶点多于统一变量,则最好在CPU上计算统一,这是最常见的情况 如果统一值多且计算复杂(即逆矩阵),而顶点计数较低,则最好卸载CPU并在GPU上执行计算 比率阈值很难确

在顶点着色器中,我仅使用一致性计算向量。因此,对于顶点着色器的所有实例化,此计算的结果是相同的。我应该在CPU上做这个计算,然后作为一个统一的文件上传吗?如果我有十个这样的计算呢?如果我以这种方式上传大量制服,CPU-GPU通信是否会变得如此缓慢,以至于在顶点着色器中重新计算此类值实际上会更快?

我实际上取决于制服/顶点计数比率。如果顶点多于统一变量,则最好在CPU上计算统一,这是最常见的情况

如果统一值多且计算复杂(即逆矩阵),而顶点计数较低,则最好卸载CPU并在GPU上执行计算

比率阈值很难确定,因为有许多因素会影响着色器的执行。通常,最好在CPU上计算大部分一致性,以减轻着色器执行的负担


注意:设置统一变量后,着色器程序将保存它们的值,直到重新链接。

I实际上取决于统一/顶点计数比率。如果顶点多于统一变量,则最好在CPU上计算统一,这是最常见的情况

如果统一值多且计算复杂(即逆矩阵),而顶点计数较低,则最好卸载CPU并在GPU上执行计算

比率阈值很难确定,因为有许多因素会影响着色器的执行。通常,最好在CPU上计算大部分一致性,以减轻着色器执行的负担

注意:一旦设置了统一变量,着色器程序将保存它们的值,直到重新链接