FC2ブログ

OpenGLを用いた立体視プログラム

OpenGLを用いた立体視プログラムの作り方というネタは、いまだニーズがあるみたいですね...

CQ出版社の月刊誌、<インターフェース>2011年1月号に、<OpenGLを使って立体視の絵を作ろう!>という記事を書きましたので、それをご覧いただきたいのですが、手に入らないという方のために、エッセンスだけを載せておきます。ムダは一切ありません!(世界最短?)

(エッセンスはじまり)------------------------------------------

まず、左眼用ですが、以下のようにして、透視投影行列を作ります。

glFrustum(-zNear * (fovx_tan - eye), zNear * (fovx_tan + eye), -zNear * fovy_tan, zNear * fovy_tan, zNear, zFar);
glTranslated(eye * distance, 0, 0);

同じように、右眼用の透視投影行列は、以下の通り。違いは符号だけ3か所。

glFrustum(-zNear * (fovx_tan + eye), zNear * (fovx_tan - eye), -zNear * fovy_tan, zNear * fovy_tan, zNear, zFar);
glTranslated(-eye * distance, 0, 0);

上記で、OpenGL的に推測できないパラメタは、eyeとdistanceですが、

A) eyeは、立体視を行う実環境において、観察者の眼間距離(通常は6.0~6.5cm)の半分を、観察者とディスプレイ面との距離で割った無次元数
B) distanceは、CG座標系(ワールド座標系などとも言う)における、視点(=カメラ位置)と視差ゼロにしたい面との距離。

(エッセンスおしまい)------------------------------------------

つまり、各眼あたり、2つのOpenGL関数で事足ります。簡単でしょう?
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(技術顧問)
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
電気学会・第三期次世代インタラクティブディスプレイ協同研究委員会(幹事)/最先端表現技術利用推進協会・アカデミック部会(旧:三次元映像のフォーラム)(副部会長)/日本バーチャルリアリティ学会ハプティクス研究委員会(委員)/ACM(Professional Member)/情報処理学会(正会員、CVIM会員)/3Dコンソーシアム(賛助会員)/URCF(特別会員)

---------------------

前職:立体映像産業推進協議会(幹事)/日本バーチャルリアリティ学会・論文委員会(委員)/3DBiz研究会(個人賛助会員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード