2013-05-27 (月)
vr.jsのソースを少し読んでみる.
Oculus Riftで遊ぶための肝となりそうなのは,lib/vr.jsのWARP_FRAGMENT_SOURCE_に書かれているフラグメントシェーダですね.
ここは難しいことをやっているわけじゃなくて,レンズの中心からの距離に対する補正用の係数を適用してテクスチャ座標を計算しているだけみたいです.
ただ,補正値がu_hmdWarpParam経由で渡される4次関数なのだけど,係数がどうやって計算されて出てきたものか良く分からない.何かの近似関数っぽいな.光学系に詳しい人にとっては常識なのかも.
あと下のWARP_CHROMEAB_FRAGMENT_SOURCE_ では色収差(?)も補正していると書いているけど,こっちは良く見ていないです.