このドキュメントでは動的立体視表現とは何か、またどのように実現するかを説明します。はじめに立体視表現での動的立体視表現構築のための理論的な枠組みを説明します。
次に、快適な立体表現を行うため、どのように理論的な制約から離れ、快適な表示を実現できるか、レンダリングにおける芸術性の高い制御ができるかを示します。
最後に、提供する API の詳細を説明します。
1.1. このドキュメントのスコープ
このドキュメントでは 3D シーンからの画像生成手法として透視投影のみを扱います。透視投影はグラフィックス開発者によく知られた手法であり、このドキュメントの読者は透視投影行列について既に理解していると想定しています。
1.2. 用語定義
本ドキュメントで以下の用語を使用します。
- 現実空間
プレイヤーから上液晶までの距離などの現実世界の要素が CTR/SNAKE での立体視表示と関連があります。これらとアプリケーション内の空間を区別するため、プレイヤーや CTR/SNAKE 本体が存在する空間を指すのに「現実空間」という用語を使います。 - 仮想空間
現実空間とは逆に、アプリケーションの中で作られる空間を仮想空間と呼びます。 - ビューポート
ビューポートはレンダリングされた画像が表示される現実空間での領域です。この領域はスクリーン面の中にあるということを強調しておきます。多くの場合、ゲームでは上画面全体をビューポートとして扱います。 - ウィンドウ
ウィンドウは仮想空間におけるビューポート表現です。カメラのビューボリュームのベース面/ウィンドウ面での切断面がウィンドウです。ユーザーがビューポートを見たときに、ウィンドウはまさに窓として、ユーザーに仮想世界を見せてくれます。ウィンドウ面に配置されたオブジェクトは、ユーザーから見て丁度スクリーンの距離に存在するように見えます。カメラから見て、ウィンドウ面より遠くのオブジェクトはスクリーンの後ろに、近くのオブジェクトはスクリーンより前に見えることになります。仮想空間でのスクリーン表現として仮想スクリーンも定義します。 - ベースカメラ
ベースカメラはアプリケーションがシーンに応じて設定する単一のカメラです。ベースカメラの設定情報は、ユーザーの左右の目に相当する2つのカメラ位置を計算するのに必要です。 - 視点カメラ
左目用画像や右目用画像の計算に用いるカメラを視点カメラと呼びます。