3Dの世界に移動するために使用されるシンプルなカメラの実装。マウスを動かしてカメラを回転させ、w、a、s、dキーを使用して動き回ることができます(アプリケーションを閉じるためにESC)。
たとえば、一人称ゲームやCADアプリケーションで使用できます。
小さなショーケースとして、非常にシンプルな迷路を作成しました。
草と壁の両方がシェーダーを使用してレンダリングされます。
また、ユーザーが壁の「内側」に移動しないなど、衝突システムを実装しましたが、その直前に停止します。
フェラーラ大学のコンピューターグラフィックスコース(AY 2020/2021)の最終プロジェクト。
Teacher: Antonino Casile
Students: Alberto Paparella Badge number: 144261
Martina Tenani Badge number: 144739
宇宙のポイントに移動するには、2つの方法があります。
1つ目は、カメラの位置を変更し、それをそのポイントに移動することです(OpenGLでは不可能)、もう1つはポイントの位置を変更し、カメラに持ち込むことです。
簡単に言えば、前進する効果を生み出すために、あなたは自分自身を前進させるか、世界を後退させます。
したがって、空間でポイント(x、y)に移動する効果を生み出すために、代わりに世界をポイント(-x、-y)に翻訳することが可能であり、区別できません。
右側を見たい場合は、世界を左に回転させます。
そのため、回転中に角度の負の値を使用します。
重要な注意:常に最初に回転してから翻訳してください。
衝突システムについては、次のロジックを実装しました。次のステップが周囲のオブジェクトを見つけているかどうかを確認します。その場合は、その方向に行列を更新しないでください。
コマンドラインを使用してProject Main Directory sfpg/に移動し、 makeコマンドを起動します。
このプロジェクトは、 sfpgと呼ばれる同じディレクトリに./sfpgで起動できる実行可能ファイルを作成します。
すべての.oファイルは、物事を清潔に保つためにobj/ディレクトリに保存されます。