«Point Sprite を使ってみる 最新 お金が無い!»

床井研究室

※このブログは遅くとも 2027 年 3 月に管理者の定年退職により閉鎖します (移転先は管理者本人共々模索中)

■ 2006年04月27日 [OpenGL][3D液晶] glPolygonStipple() による実装

2007年04月12日 10:13更新

シス工猫

大学のキャンパスのシステム工学部棟の前というか,システム情報学センターと教育学部の間あたりに,尻尾の短い(足も短い?)キジトラの猫が出没しています.私は猫好きなので(奥さんの影響ですが),出会うたびに写メを奥さんに送っています(奥さんからそうしろという指示が出ているのです).私は彼(オスのようです)に勝手に「しまじろう」と名づけているのですが,学生さんは「シス工猫」とか呼んでいるようです.とても人懐っこくてかわいらしいので,多分,以前人に飼われていたんだろうとは思いますが,捨て猫というのは生き残るのがなかなか難しいと聞いているので,この先どうなるかちょっと心配です.

シス工猫

実験の指導書の更新

演習室のパソコンをリプレースする際,演習室から CRT ディスプレイを排除したいという理由で,立体視の実験用のディスプレイが時分割方式から 3D 液晶ディスプレイに変更されました.そのため,実験の指導書もそれに合わせて書き直す必要が出てきました.

ところが,3D 液晶ディスプレイを使った立体表示がドライバレベルでサポートされていない場合は,アプリケーションソフトウェア側でそれに対応した画面表示を行う必要があります.2年前(もう2年も経つんだ…),3D 液晶ディスプレイを搭載した NEC のノートパソコン (Lavie G Type S) を買ったときに作ったサンプルプログラムでは,これにステンシルバッファを使っていました.しかし,この実装はそれなりに複雑なので,これを実験の指導書に採用する気にはなれませんでした.

glPolygonStipple() を使う

何かほかにいい方法が無いか考えているとき,たまたま screen door transparency のデモを見ていて,その網のパターンがディスプレイ面に対して固定している(動いていない)ことに気づきました.そこで,このデモで使われていた glPolygonStipple() を使って 3D 液晶ディスプレイ用の画面表示を行ってみました(サンプルプログラム).結果は期待通りうまくいったので,これを使って実験の指導書を書き直しました.この方法はステンシルバッファという貴重なリソースを消費しないという点でも好みです.

やっぱり時分割方式

シャープ製の 3D 液晶ディスプレイは2視点なので,観測者は頭を動かすことができません.そのためヘッドトラッキングの実験などができなくなってしまいました.またプログラムの組みやすさや,表示画像の画質や見易さの点でも時分割方式の方が優れているので,次回(があれば4年先だけど)は時分割方式に戻したいなあと考えて始めています.最近は液晶ディスプレイの応答速度も向上してきたようですし,時分割方式が液晶ディスプレイで実現できないものでしょうか.今度,実験してみようかな.


編集 «Point Sprite を使ってみる 最新 お金が無い!»