ある程度まで、これは3Dのレンダリング方法の関数です。たとえば、OpenGLは、XYスクリーン空間で-1.0、+ 1.0の範囲外のジオメトリを自動的にカリングします(Zはより複雑ですが似ています)。カリングされたジオメトリは、フラグメント(およそピクセル)を生成しないため、レンダリングのためにシステムに送信されても、実際の画像に変換されることはありません。いずれにしても、レンダーウィンドウの外側のスペースに書き込むことはできません(すべてが正常に機能している場合)。
状況によっては、最適化としてこの動作に依存するだけで十分です。ただし、ビデオカードが表示内容を認識する前に、すべてのゲームデータを少なくとも1つのレンダリングステージ(頂点シェーダー)に渡す必要があります。Skyrimのようなものでは、それは非現実的です。レンダリングパイプラインを介して世界中のすべての頂点を送信する必要があるだけでなく、すべての頂点をシステム/ビデオメモリにロードする必要があります。可能であっても、それは非効率的です。
そのため、多くのゲームでCPUベースのカリングが使用されます。彼らは通常、ある種のLOD(詳細レベル)システムを実装します。このシステムでは、資産の品質と存在が、特定のコンテキストでの評価の重要性によって影響を受けます。山から50マイル離れている場合、ピラミッドメッシュは山の許容範囲内の近似値です。他の山でブロックされているなど、まったく見えない場合は、ロードする必要もありません。これを行うためのより複雑な方法がいくつかありますが、これらはこの質問で要求された深さに直接関連するとは思わないトピックですが、最も一般的な例の1つについてテッセレーションを見てください。
これの本当の要点は、ビジュアルはゲームの製品にすぎないということです。実際のデータは、ほとんどの時間に表示されているか表示されていないかとは直接関係がなく、データがさまざまな段階でフィルター処理されて、画面に画像が書き込まれる時点に到達する前に余分な情報が削除されます。エンジンの設計によっては、同じゲームに2Dと3Dのインターフェイスを持たせるなどの可能性がある限り、ビジュアルは実際のゲームロジックから極端に切り離される可能性があります。多くのゲームエンジンがまったく出力せずに実行することも可能です。ゲームAIのテストに使用される場合があります。
ただし、ここで事態は複雑になります。マリオのゲームのような単純なものでは、たとえ敵が見えなくても、レベル内のすべての敵の動きを計算することは非常に法外ではありません。現代の状況では、画面外で何が起こっているかは、真剣に検討すべき実際の問題です。NPCの都市全体が複数ある場合、プレーヤーが別の都市にいるときなど、完全にcompletelyされたときの行動をどのように処理しますか?マップ全体で何百ものNPCの決定を本当に計算したいですか?通常、答えは「いいえ」ですが、そうしない場合の正確なアプローチはさまざまであり、ゲームに何らかの影響を与える可能性があります。
これが今の物事の仕組みであることに注意することが重要です。古いマリオゲーム自体は、当時のハードウェアの極端な制限を考えると、非常に異なる方法でプログラムされた可能性があります(正確な方法を話すことはできません)。3Dの概念は当時存在していませんでした。しかし、今日では、完全に2Dであるゲームも含め、ほとんどすべてのゲームで、3Dレンダリングが何らかの形で使用されています。最新のビデオハードウェアは最初に3Dであり、2Dレンダリング(少なくともハードウェアを適切に使用している場合)は、単に3次元を無視します。