在 GLSL 中获取向量的分量最大值

Get component-wise maximum of vector in GLSL

我需要在 GLSL 中获得 vec3 的最大值。目前我正在做

max(max(col.r, col.g),col.b)

有效。但我想知道是否有更好的方法通过一个内置函数调用来做到这一点?

不幸的是,这就是您在 GLSL 中要做的最好的事情。

我已经习惯写那种东西了。但是,如果这让您感到困扰,您可以随时编写自己的函数来执行此操作。

例如:

float max3 (vec3 v) {
  return max (max (v.x, v.y), v.z);
}