Interactive Stereo Library 日本SGI株式会社 ビジュアライゼーション事業本部 ビジュアライゼーション事業本部 はじめに すでにある未来 すでにある未来へ 未来へ 裸眼立体視とは 裸眼立体視とは 偏光メガネ 偏光メガネ・ メガネ・シャッターメガネ等 シャッターメガネ等なしに立体視 なしに立体視すること 立体視すること 裸眼立体視ディスプレイ 裸眼立体視ディスプレイ 偏光メガネ 偏光メガネ・ メガネ・シャッターメガネ等 シャッターメガネ等なしに立体視 なしに立体視できる 立体視できるディスプレイ できるディスプレイ ディスプレイ自体 ディスプレイ自体に 自体に特別な 特別なフィルタが フィルタが装着されている 装着されている 裸眼立体視ディスプレイ 裸眼立体視ディスプレイには ディスプレイには各種方式 には各種方式が 各種方式が存在する 存在する バリア方式 バリア方式 レンティキュラレンズ方式 レンティキュラレンズ方式 インテグラルイメージング方式 方式も レンティキュラレンズを 使用) (インテグラルイメージング 方式 もレンティキュラレンズ を使用 ) 2眼式 眼式/ 眼・7眼 眼・8眼 眼・9眼 眼)式 眼式/多眼( 多眼(4眼 裸眼立体視の 裸眼立体視の原理 すでにある未来 すでにある未来へ 未来へ バリアタイプ/ バリアタイプ/レンティキュラレンズタイプの レンティキュラレンズタイプの原理 Image pixels R L R L R L R L R L Left eye Right eye バリアタイプ R L R L R L R L R L Left eye Right eye レンティキュラレンズタイプ Interactive Stereo Library (ISL) すでにある未来 すでにある未来へ 未来へ Interactive Stereo Libraryとは 日本SGI 日本SGIが SGIが提供する 提供するミドルウェア するミドルウェア 複数ベンダ 複数ベンダの ベンダの裸眼立体視フィルタ 裸眼立体視フィルタを フィルタをサポート 3Dモデル 3Dモデルの モデルのリアルタイム( リアルタイム(インタラクティブ) インタラクティブ)表示 ISLを使用した 使用した製品例 した製品例 AVS/Express Interactive Stereo Library (ISL) すでにある未来 すでにある未来へ 未来へ ライブラリである理由 である理由 フィルタの フィルタの種類を 種類を隠蔽する 隠蔽する機能 する機能を 機能を提供 アプリケーションが アプリケーションがフィルタの フィルタの種類を 種類を意識する 意識する必要 する必要がない 必要がない アプリ1 アプリ1 アプリ2 アプリ2 アプリ3 アプリ3 ・・・・・・ アプリM アプリ フィルタ1 フィルタ1 フィルタ2 フィルタ2 フィルタ3 フィルタ3 ・・・・・・ フィルタN フィルタ Interactive Stereo Library (ISL) すでにある未来 すでにある未来へ 未来へ ライブラリである理由 である理由 フィルタの フィルタの種類を 種類を隠蔽する 隠蔽する機能 する機能を 機能を提供 アプリケーションが アプリケーションがフィルタの フィルタの種類を 種類を意識する 意識する必要 する必要がない 必要がない アプリ1 アプリ1 アプリ2 アプリ2 アプリ3 アプリ3 ・・・・・・ アプリM アプリ ・・・・・・ フィルタN フィルタ ISL フィルタ1 フィルタ1 フィルタ2 フィルタ2 フィルタ3 フィルタ3 ISLの ISLのアーキテクチャ すでにある未来 すでにある未来へ 未来へ ソフトウェアの ソフトウェアの階層構造 (コールバック方式 コールバック方式) 方式) 初期化・ 初期化・コールバック関数登録 コールバック関数登録 初期設定 立体視描画関数 アプリケーション ISL ISLが ISLがループ制御 ループ制御 カメラ設定 カメラ設定 フィルタ設定 フィルタ設定 コールバック関数呼出 コールバック関数呼出 描画関数 (コールバック関数 コールバック関数) 関数) OpenGL ハードウェア ISLの ISLのアーキテクチャ すでにある未来 すでにある未来へ 未来へ ソフトウェアの ソフトウェアの階層構造 (アプリケーション制御 アプリケーション制御ループ 制御ループ方式 ループ方式) 方式) 初期化 初期設定 アプリケーション アプリが アプリがループ制御 ループ制御 視点番号指定 カメラ設定 カメラ設定 マスクパターン設定 マスクパターン設定 描画関数 ISL OpenGL ハードウェア フィルタの フィルタの実行時の 実行時の見分け 見分け方 すでにある未来 すでにある未来へ 未来へ エンドユーザが エンドユーザが環境変数を 環境変数を指定 ISLが実行時に 実行時にフィルタタイプに フィルタタイプに応じて設定 じて設定 マスクパターン 視点数 アプリケーションの変更は不要 パラメータの パラメータの種類 すでにある未来 すでにある未来へ 未来へ 視差の 視差の大きさ フォーカスの フォーカスの深さ ISLは調整機能を持つが、 値の設定はアプリケーション にゆだねる 左目 方向 線 の視 目 右 視差 フォーカス 右目 左目の 視線方 向 表示結果 すでにある未来 すでにある未来へ 未来へ 4眼の立体視ディスプレイ 立体視ディスプレイの ディスプレイの場合の 場合の表示例 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 多視点画像を 多視点画像を用いる裸眼立体視 いる裸眼立体視フィルタ 裸眼立体視フィルタの フィルタの例(7視点) 視点) RGBの のサブピクセルの サブピクセルの単位で 単位で表示する 表示する視点 する視点を 視点を変える 1 2 3 4 5 6 7 1 2 R G B R G B R G B 7 1 2 3 4 5 6 7 1 R G B R G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 5 6 7 1 2 3 4 5 6 R G B R G B R G B 視点番号 ディスプレイの ディスプレイの1画素 (RGBの RGBの3成分からなる 成分からなる) からなる) 見かけの1 かけの1画素 (RGBが RGBが7視点分) 視点分) 上記のうち 上記のうち、 のうち、実際に 実際に眼に 入る画素 (視点4 視点4に眼がある場合 がある場合) 場合) リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B 6 7 1 2 3 4 5 6 7 1 2 3 R G B R G B R G B R G B 視点番号の 視点番号の割り当て (フィルタの フィルタの特性) 特性) 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B 6 7 1 2 3 4 5 6 7 1 2 3 R G B R G B R G B R G B 視点番号1 視点番号1 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B 6 7 1 2 3 4 5 6 7 1 2 3 R G B R G B R G B R G B 視点番号2 視点番号2 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B 6 7 1 2 3 4 5 6 7 1 2 3 R G B R G B R G B R G B 視点番号3 視点番号3 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B 6 7 1 2 3 4 5 6 7 1 2 3 4 R G B R G B R G B R G B R 視点番号4 視点番号4 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B 7 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B R 6 7 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B R G 視点番号5 視点番号5 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 6 R G B R G B R G B R G B R 7 1 2 3 4 5 6 7 1 2 3 4 5 6 R G B R G B R G B R G B R G 6 7 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B R G 視点番号6 視点番号6 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 基本的な 基本的な考え=マスクを マスクを変えながら重 えながら重ねがき 実現不可能な 実現不可能なマスク 1 2 3 4 5 6 7 1 2 3 4 5 6 7 R G B R G B R G B R G B R G 7 1 2 3 4 5 6 7 1 2 3 4 5 6 R G B R G B R G B R G B R G 6 7 1 2 3 4 5 6 7 1 2 3 4 5 R G B R G B R G B R G B R G 視点番号7 視点番号7 1フレーム フレーム分 フレーム分の描画 { 各視点番号について 各視点番号について { 視点を 視点を設定; 設定; マスクを マスクを変更; 変更; 描画( 描画(重ね描き); } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号1 視点番号1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号1 視点番号1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号1 視点番号1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号2 視点番号2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号2 視点番号2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号2 視点番号2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号3 視点番号3 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号3 視点番号3 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 B R G B R G B R G B } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号3 視点番号3 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B R } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号4 視点番号4 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B R } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号4 視点番号4 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 実現可能な 実現可能な方法= 方法=二つのマスク つのマスクの マスクの併用 画素ごとの 画素ごとのマスク ごとのマスク( マスク(ステンシル) ステンシル) 1 2 R G 7 1 R G 6 7 R G 1フレーム フレーム分 フレーム分の描画 { サブピクセル(RGB)の のマスク( サブピクセル マスク(カラーマスク) カラーマスク) 各視点番号について 各視点番号について { 3 4 5 6 7 1 2 3 4 5 視点を 視点を設定; 設定; B R G B R G B R G B RGBについて について { カラーマスクを カラーマスクを変更 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B 画素マスク 画素マスクを マスクを変更; 変更; 描画( 描画(重ね描き); 1 2 3 4 5 6 7 1 2 3 4 B R G B R G B R G B R } } 表示バッファ 表示バッファの バッファのスワップ; スワップ; } 視点番号4 視点番号4 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 2 3 4 5 6 7 1 2 R G B R G B R G B 7 1 2 3 4 5 6 7 1 R G B R G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 7 6 4 3 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 12 3 4 5 6 7 1 2 RG B R G B R G B 1 4 7 7 1 2 3 4 5 6 7 1 R G B R G B R G B 7 6 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 3 2 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 1 21 1 R 1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 2 3 4 5 6 7 R G B R G B R 7 R 12 GB 1 G 2 3 4 5 6 7 1 B R G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 4 7 3 6 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 2 21 1 G 7 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 B 1 7 12 3 4 5 6 7 BR G B R G B 6 1 2 3 4 5 6 7 1 2 R G B R G B R G B 7 1 2 3 4 5 6 7 R B B R G B R G 6 7 R G 視点番号の割り当て (フィルタの特性) 4 3 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 3 21 1 B 6 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 2 3 4 5 6 7 1 2 R G B R G B R G B 7 1 2 3 4 5 6 7 1 R G B R G B R G B 6 7 1 R G B 23 4 5 6 7 RG B R G B 視点番号の割り当て (フィルタの特性) 1 7 6 4 3 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 4 21 2 R 2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 R 23 4 5 6 7 1 2 GB R G B R G B 7 1 2 3 4 5 6 7 1 R G B R G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 7 6 4 3 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 5 21 2 G 1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 2 3 4 5 6 7 1 R G B R G B R G 7 1 R G 2 B 2 B 3 4 5 6 7 1 R G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 4 7 3 6 2 7 6 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 6 21 2 B 7 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 描画順序 1 2 3 4 5 6 7 1 2 R G B R G B R G B 7 1 2 R G B 3 R 4 5 6 7 1 G B R G B 6 7 1 2 3 4 5 6 7 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 7 6 4 7 3 6 2 5 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 7 21 3 R 3 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 7視点の 視点の場合の 場合の実行例 v: 視点番号 c: カラーマスク 1→R, 2→G, 3→B for (int v = 1; v <= 7; v++) { 視点番号 v の視点を 視点を設定; 設定; for (int c = 1; c <= 3; c++) { カラーマスクを カラーマスクを c に設定; 設定; ステンシルマスク = (v – c + 7) % 7 + 1; ステンシルマスクを ステンシルマスクを設定; 設定; 描画; 描画; } } リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 2視点の 視点の場合の 場合の実行例 ステンシル2種類 / G) ステンシル 種類× 種類×カラーマスク2種類 カラーマスク 種類( 種類(RB/ 1 2 1 2 1 2 1 2 1 R G B R G B R G B 1 2 1 2 1 2 1 2 1 R G B R G B R G B 1 2 1 2 1 2 1 2 1 R G B R G B R G B 視点番号の割り当て (フィルタの特性) 1 1 1 2 2 2 1 1 1 描画順序 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 2視点の 視点の場合の 場合の実行例 ステンシル2種類 / G) ステンシル 種類× 種類×カラーマスク2種類 カラーマスク 種類( 種類(RB/ 1212 1 2121 RG B R G B RG B 1212 1 2121 RGB R G BRGB 1212 1 2121 RGB R G BRGB 視点番号の割り当て (フィルタの特性) 1 1 1 2 2 2 1 1 1 描画順序 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 1 4 1 RB 1 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 2視点の 視点の場合の 場合の実行例 ステンシル2種類 / G) ステンシル 種類× 種類×カラーマスク2種類 カラーマスク 種類( 種類(RB/ 12 1 2 1 GB R G B 1 2 1 2 1 2 1 2 1 R G B RGB R G B 1 2 1 2 1 2 1 2 1 R G B RGB R G B 1 2 1 2 R G B R 視点番号の割り当て (フィルタの特性) 1 1 1 2 2 2 1 1 1 描画順序 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 2 4 1 G 2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 2視点の 視点の場合の 場合の実行例 ステンシル2種類 / G) ステンシル 種類× 種類×カラーマスク2種類 カラーマスク 種類( 種類(RB/ 2121 2 1 RGB R G B 1 2 1 2 1 2 1 2 1 R G BRGB R G B 1 2 1 2 1 2 1 2 1 R G BRGB R G B 1 2 1 R G B 視点番号の割り当て (フィルタの特性) 1 1 1 2 2 2 1 1 1 描画順序 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 3 4 2 RB 2 リアルタイム表示手法 リアルタイム表示手法 すでにある未来 すでにある未来へ 未来へ 2視点の 視点の場合の 場合の実行例 ステンシル2種類 / G) ステンシル 種類× 種類×カラーマスク2種類 カラーマスク 種類( 種類(RB/ 21 2 1 2 121 GB R G B RGB 1 2 1 2 1 2 1 2 1 RGB R G B RGB 1 2 1 2 1 2 1 2 1 RGB R G B RGB 1 R 視点番号の割り当て (フィルタの特性) 1 1 1 2 2 2 1 1 1 描画順序 視点番号 カラー マスク ステンシル マスク 各画素のステンシル値の割り当て (=Rに対応する視点番号に固定) 4 4 2 G 1
© Copyright 2024 ExpyDoc