フラグメント シェーダーのレイマーチング アルゴリズムを介してシーンをレンダリングする OpenGL を使用してゲームを開発しようとしています。シーンのレンダリングに使用されたのと同じ符号付き距離フィールド関数を使用して衝突を実装するつもりです。
私が理解しようとしているのは、衝突テストとシェーダーの両方に同じ SDF 関数を 2 回記述することなく使用する方法があるかどうかです。
Frag シェーダー内の C++ 関数にアクセスする方法や、衝突テストに使用する計算シェーダーの出力を取得する方法はありますか?
計算シェーダーから関数を呼び出すためだけに個別のレンダリング パイプライン全体をセットアップするのは、非常に不便に思えます。これを達成するためのより簡単な方法はありますか?