誰かがこれらの 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 は常にゼロ以上であり、少なくとも 1 つのコンポーネントがゼロより大きいと仮定します。