少しGLUTを学んだばかりで、可動カメラ、照明をセットアップし、class
いくつかの3Dフォームを含むものを作成しました。
しかし今は、カメラがそのようなオブジェクトを通過できないようにしたいと考えています。特定のポイントまたは実際のカメラ位置に障害物があるかどうかを確認できるタイプOpenGL
またはコマンドはありますか?glut
OpenGL はラスタライザー API であり、衝突のチェックや処理は行いません。衝突を検出する一般的な方法は、境界ボックスまたは境界球です。カメラの位置をポイントとして扱い、それが障害物のバウンディング ボリューム内にあるかどうかを確認できます。境界球の半径を取得するには、モデル内のすべての頂点をループして、その中心までの距離を保存する必要があります。このループは、フレームごとではなく、1 回だけ行う必要があります。
OpenGLはシーングラフではありません。つまり、シーンや世界の内部表現はありません。OpenGLは描画APIであり、フレームバッファーにポイント、ライン、三角形を一度に1つずつ描画するだけで、それらを忘れてしまいます。
したがって、OpenGLは衝突検出を行いません。OpenGLを使用して衝突検出システムを実装することは可能ですが、これはOpenGLではなく、プログラムが実行するものです。