有人知道如何避免使用这些 IF 语句吗?
float v = 9999.0;
if (a.x > 0.0 && a.x < v) { v = a.x; }
if (a.y > 0.0 && a.y < v) { v = a.y; }
if (a.z > 0.0 && a.z < v) { v = a.z; }
最初我使用了以下几行,但后来我意识到我只想要最小值,如果它不等于零。
float v = min(a.x, min(a.y, a.z));
我还假设 a.xyz 总是大于或等于零,至少是大于零的分量之一。