8

私の理解では、GLSL には FLT_MAX 型の定数はありません。

フロートがオーバーフローなしで可能な最大値を表すことを保証する方法はありますか?

編集:

これを何に使用するのかと尋ねられたので:

私は基本的にポイントを「無限大」にスケーリングしています。これは 2D シャドウ キャスティング用で、GPU でトライアングル ストリップ シャドウを完全に再形成します。一度に 1 つの頂点の処理しか制御できないため、w コンポーネントは、それが船体にとどまるか、無限に投影されるかを格納します。

両方の「影の境界」ポイントが同じエッジであり、光がそのエッジとほぼ同一線上にある場合、三角形が画面全体をカバーしていることを確認する必要があります。説明するのは難しいです。

4

3 に答える 3

8

GLSL では、IEEE 754 の無限大はゼロで除算することで便利に実現できます。

float infinity = 1.0 / 0.0;
于 2014-11-10T14:31:09.327 に答える