在 OpenGL 着色器内部还是在 C++ 中按位执行更快

Is it faster to do bitwise inside an OpenGL shader or beforehand in C++?

本文关键字:执行 C++ OpenGL 内部      更新时间:2023-10-16

我不确定我是否应该在 OpenGL 片段着色器内或在运行着色器之前执行按位运算和除法(以 C++ 计算并统一传递)。我实际上正在做的是将表示 RGB 值的十六进制整数转换为可用于在 OpenGL 中绘制的颜色。[在大多数系统上]哪个通常更快?

如果它是每个绘制调用计算的单个值,则在C++中执行。

GPU 的速度非常快,但让它们为数百万个顶点或片段计算相同的值毫无意义。

但是,存在数据如何传递的问题。如果您怀疑存在差异,请尝试这两种方法并对其进行分析。