パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

NVidia 3D Vision で アナグリフ病

未だに OpenGL のアプリを 3D ステレオ化するドライバが無いか検討していたりする。NVidia は 3D Vision の他に、3DTV Play というのもリリースしている。こちらは、HDMI 1.4a で、3Dステレオなテレビを GeForce でドライブするものらしい。ただ、対応しているテレビは少なくて?、対応していないテレビでもむりやり NVidia 3DTV Play を使えるようにする裏技があるとのこと。NVIDIA-UN-3DTV.inf というファイルを使って、モニタのドライバを置き換えると、3DTV Play が使えるテレビになるらしい。

ほんの興味で、全く HDMI1.4a に対応していない普通のディスプレイに、上記ファイルを適用してしまった。モニタのディスクトップの表示からおかしくなってしまったので、ドライバをもとに戻して、その時はそれで表示も戻った。が、とある OpenGL のアプリの3D表示が、おかしくなった。ひとまず真っ赤なのである。別のウィンドウの 3D表示はシアンと赤のアナグリフ風表示に。他の OpenGL を使ったアプリは、特に通常と変わらず。あるアプリだけ。ちょうど、おかしくなったアプリを至急使いたい状況だったので非常に困った。

最初は 3D Vision の問題とは思わず、そのアプリをリコンパイルしてみたりしたが改善せず。最新の GeForce のドライバを入れたり、去年くらいのに戻したりしても状況は変わらず。NVIDIA-UN-3DTV.inf 適用以前のシステムをバックアップからリストアしてもダメ。ふと、別アカウントでログオンしてみると...以前のように正しい表示になった。とりあえず、用事は別アカウントですました。

ネットで調べてみると raika9 さんのブログに関係ありそうな記事があったNVidia コントロールパネルの3Dステレオスコピックの所をみると、3D Vision Discover になっているのを確認。ただし、ステレオスコピックは OFF になっているのだが。ちなみに、3D Vision も 3DTV Play も購入していないので、この記事のように対処することはできず。もっと調べてみると、某掲示板には、一度 3DTV Play を有効化してしまうと、アナグリフ表示から逃れられないような情報も。

で、結局、ユーザ固有のレジストリに、3D Vision/3DTV Play 関係の情報が保存されていると想定して、そのレジストリのファイル(Win7/Vista ではユーザフォルダの ntuser.dat, ntuser.dat.LOG1)をバックアップからリストアすることで、問題は解決した。解決前後のレジストリを比較してみたが、トリガになっている部分はよくわからず。ほんと、NVIDIA-UN-3DTV.inf 適用前のバックアップが残っていてよかった。ちなみに、システムのバックアップからのリストアで解決しなかったのは、ユーザのプロファイルフォルダを別ドライブに移動させていたから..

ということで、3D Vision, 3DTV Play はちゃんと対応している環境で試すべき、といったところか。先日 Radeon HD6450 を購入したばかりだが、3DTV Play で OpenGL アプリが使えるなら、GeForce GT520 辺りを購入してもいいかな、とか思いつつ(5000円しないのもあるようだし)。

はてさて。

追記 : その後、色々わかったことがある。実は、特定のアプリだけアナグリフ病だったのは、環境変数に 3D の設定をしていたからだった。そのアプリは OpenSceneGraph を使っていて、それは環境変数で挙動がコントロールできる。なので、レジストリをバックアップから戻すと正常に戻ったり、他のユーザだと大丈夫だったわけである。アプリ自身や OS は全く関係なかった。色々難しいものだ。