ISL について(pdf)

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