■ 2006年04月27日 [OpenGL][3D液晶] glPolygonStipple() による実装
シス工猫
大学のキャンパスのシステム工学部棟の前というか,システム情報学センターと教育学部の間あたりに,尻尾の短い(足も短い?)キジトラの猫が出没しています.私は猫好きなので(奥さんの影響ですが),出会うたびに写メを奥さんに送っています(奥さんからそうしろという指示が出ているのです).私は彼(オスのようです)に勝手に「しまじろう」と名づけているのですが,学生さんは「シス工猫」とか呼んでいるようです.とても人懐っこくてかわいらしいので,多分,以前人に飼われていたんだろうとは思いますが,捨て猫というのは生き残るのがなかなか難しいと聞いているので,この先どうなるかちょっと心配です.
実験の指導書の更新
演習室のパソコンをリプレースする際,演習室から CRT ディスプレイを排除したいという理由で,立体視の実験用のディスプレイが時分割方式から 3D 液晶ディスプレイに変更されました.そのため,実験の指導書もそれに合わせて書き直す必要が出てきました.
ところが,3D 液晶ディスプレイを使った立体表示がドライバレベルでサポートされていない場合は,アプリケーションソフトウェア側でそれに対応した画面表示を行う必要があります.2年前(もう2年も経つんだ…),3D 液晶ディスプレイを搭載した NEC のノートパソコン (Lavie G Type S) を買ったときに作ったサンプルプログラムでは,これにステンシルバッファを使っていました.しかし,この実装はそれなりに複雑なので,これを実験の指導書に採用する気にはなれませんでした.
glPolygonStipple() を使う
何かほかにいい方法が無いか考えているとき,たまたま screen door transparency のデモを見ていて,その網のパターンがディスプレイ面に対して固定している(動いていない)ことに気づきました.そこで,このデモで使われていた glPolygonStipple() を使って 3D 液晶ディスプレイ用の画面表示を行ってみました(サンプルプログラム).結果は期待通りうまくいったので,これを使って実験の指導書を書き直しました.この方法はステンシルバッファという貴重なリソースを消費しないという点でも好みです.
やっぱり時分割方式
シャープ製の 3D 液晶ディスプレイは2視点なので,観測者は頭を動かすことができません.そのためヘッドトラッキングの実験などができなくなってしまいました.またプログラムの組みやすさや,表示画像の画質や見易さの点でも時分割方式の方が優れているので,次回(があれば4年先だけど)は時分割方式に戻したいなあと考えて始めています.最近は液晶ディスプレイの応答速度も向上してきたようですし,時分割方式が液晶ディスプレイで実現できないものでしょうか.今度,実験してみようかな.