忍者ブログ
サブタイトル:「mer2のマイノリティ・レポート(笑)」 --- 最近忍者ブログの仕様が変わったようで、一部の画像が見えなくなってますが、画像のURLコピペで見られます。(どうしよう困ったな) --- ご用件など、ございましたらtwitterまでどうぞ。
[1] [2] [3] [4] [5] [6]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



  そのままじゃビルドできなかったz800SDKのサンプル「Sample_StereoVision」ですが、どうにかしたらどうにかなってしまいました。

  これはちょっと凄いです。感激です。

nvidiaステレオドライバーじゃ立体視不可なグラフィックが
ステレオドライバーを使わずに
ウィンドウ表示でも(もちろんフルスクリーンでも)

立体視できてしまいます。z800ユーザーな方は実行して泣いて下さい。但し実行は自己責任で。まあどうぞ

  あらちょっと手違いが。「EnhancedMesh.exe」を実行してエラーが出るようだったら、「EnhancedMesh.exe」を隣の「EnhancedMesh」フォルダにコピーして、その中で実行してみて下さい。ごめんなさいへこへこ。

操作方法:
F4 - ステレオon/off
F5 - 左右入れ替え
F6,F7 - Separation増減
F9 - z800の明るさ調整

  同梱のソースファイルは、下記の「EMADevice_LIB.lib」の部分だけ変更すれば「多分」そのままビルドオーケーだと思います。


どうにかした手順:
  z800SDKに入っている「EnhancedMesh」は古いバージョンな点に不安が有るので、そのまんまビルドできたDirectX SDK (November 2007)の「EnhancedMesh」を使う事にしました。
  他のフォルダとの依存関係が有るとややこしいので、まず「EnhancedMesh」を単独でビルドできるようにしてみます。

\Microsoft DirectX SDK (November 2007)\Samples\C++\Direct3D\
の「EnhancedMesh」フォルダを適当な場所にコピー。

・ EnhancedMesh_2005.slnでVisual C++を立ち上げてみる。
  ソリューションエクスローラのプロジェクト「EnhancedMesh」を広げてみると、「DXUT」なソースファイルが必要。

\Microsoft DirectX SDK (November 2007)\Samples\C++
から「DXUT」フォルダを作業中の「EnhancedMesh」フォルダ内にそのままコピー。

・ プロジェクト「EnhancedMesh」を右クリック(以後は「プロジェクトを右クリック」に略) -> プロパティ(以後は「プロパティ」で略)の「構成プロパティ -> C/C++ -> 全般」の「追加のインクルードディレクトリ」を
DXUT\Core;DXUT\Optional
に変更。

・ コピーした「DXUT」フォルダ内の必要なファイルをプロジェクトに追加する。
  最初から登録されている「DXUT」はフォルダの配置が変わっているので使えない。「DXUT0」とかにリネームして、これを参考にしながらファイルを追加するといいみたい。

・ 「プロジェクトを右クリック -> 追加 -> 新しいフィルタ」で「DXUT」作成、

・ 「「DXUT」右クリック -> 追加 -> 既存の項目」で必要なファイルを追加。
  Ctrlキー併用でまとめて選べるので少し楽。

・ 追加できたら、最初から有った「DXUT0」は「右クリック -> 削除」で削除。

・ 「プロパティ -> 構成プロパティ -> C/C++ -> プリコンパイル済みヘッダー」の「プリコンパイル済みヘッダー作成/使用」を「プリコンパイル済みヘッダーを作成する (/Yc)」に変更。

・ 「EnhancedMesh.rc」の
IDI_MAIN_ICON  ICON  "..\\..\\dxut\\optional\\directx.ico"

IDI_MAIN_ICON  ICON  "dxut\\optional\\directx.ico"
に変更。

\Microsoft DirectX SDK (November 2007)\Samples\Media
の「Dwarf」を作業中の「EnhancedMesh」フォルダにコピー。

  これで現在作業中の「EnhancedMesh」フォルダの内容のみでビルドできます。

・ ビルド可能を確認したら、「EnhancedMesh.cpp」にz800用の追加部分をz800SDKの「EnhancedMesh.cpp」を参考にして加える。
  微妙にソースが変わっていますが、変更ポイントは同じです。
  ModifyDeviceSettings()の最後のあたり、
    pDeviceSettings->pp.PresentationInterval = 1 ;

    pDeviceSettings->d3d9.pp.PresentationInterval = 1 ;
に直します。

・ 「プロパティ -> 構成プロパティ -> リンカ -> 入力」の「追加の依存ファイル」にz800SDKのサンプルソースからビルドしたEMADevice_LIB.libを追加する。
  例えば、
D:\EMA_SDK_2_2\Source\EMADevice\EMADevice_LIB\Release\EMADevice_LIB.lib
  ライブラリパスを通してあるから「EMADevice_LIB.lib」だけでいけそうなものですが、何故かそれでは通ってくれません。

  以上で「いちおう」z800対応な「EnhancedMesh.exe」が出来上がります。
  実行してみると、左側の「RIGHT」「LEFT」の文字がちゃんと右目と左目に分離しています。だけど肝心の3Dオブジェクトは立体になりません。おかしいな。

  実は「DXUT」フォルダ内のソースにも変更が必要なのでした。z800SDKのサンプルでは「DXUTmisc.cpp」に追記されていますが、DirectX SDK (November 2007)ではファイル構成が変わっていて、変更対象のCModelViewerCamera::FrameMove()は「DXUTcamera.cpp」に移動しています。

  という訳で「DXUTcamera.cpp」を修正してビルド。さあどうだ。
  3Dオブジェクトも立体視できています!だけどマウスでドラッグした時しか立体視が発動していません。うむむ。

なにげにCModelViewerCamera::FrameMove()の最初に有る
    if( !m_bDragSinceLastUpdate && 0 == m_cKeysDown )
        return;

をコメントアウトしてみたら、完璧になりました。完璧だよ。本当だよ。


  この要領で他のDirectX SDKサンプルも立体視できてしまうのでしょうか。ああ大変だ。
PR


  なんだか最近また活動が活発になってきたDreamStripper情報です。

  今度はLifeTime Membership募集中だ。ここのいちばん下。詳しい説明はここ
  たったの300ドルで今後発売分も含めて、すべてのDreamStripper製品が無料で提供されるみたいだぞ。

  次回作の予告も出ている。
DreamStripper Cabaret 2008
ScreenSaver 2008
DreamStripper Online Vegas Club

  ぎょえー、オンラインだー。まじかい。DreamStripper Onlineは月一課金だけどLifeTime Membershipならずっと課金無しだそうだ。ゴラム。

  限定500名の期間限定(いつまでか書いてないけど)募集だ。DreamStripperTシャツも貰えるそうだぞ。うひょー。
  ちょっと心が動くけど、今お金無いの。


ちょっと微妙だな…

  "Coupon Code"技は健在です。ダウンロードページの「Purchase Now」をクリックすると、5ドル引きになります。
  購入方法。多分変わってないと思う。


  新しく追加されたのは以下のソフトです。
SetupWizard
LabTool
3D Launcher
XtendDesk
  ドライバというよりツール集というかんじです。実はドライバそのものは以前の物と同じみたいです。

SetupWizard
  名前のとおり、z800の初期設定を「おおざっぱに」行うソフトです。
  しかし色設定の部分がばぐっています。三段階のプリセット設定から選ぶのですが、上か下を一度選択すると、真ん中を選べなくなってしまいます。あら困った。でもまあこのソフトで設定できる事はLabToolで更に細かい設定を行うことができますから、さらりとスルーしておきましょう。
  LabToolをセットアップする時にも必要なドライバはインスールされるみたいだから、もしかしたらこのソフトは必要無いかもしれない。

LabTool
  これが要のソフトです。じっくりいきましょう。
  実行するとz800からデータを読み込みます。しばらく時間がかかります。
Information
Information.jpg   最初に出るのがこの画面。「Reset Device」はデータの読み直しです。






Positioning、Image
  これは以前のバージョンと同じです。画面位置と[ phase,pixel clock ](意味わかんね)を調整します。以前と違うのは、左右を別々に調整できる点。あんまり必要無いかもしれないけど。
  だけどPositioningは調整用画像がwindowsのタスクバーの後に表示される上に、何故か上が切れてます。うーん。まあそれでも位置合わせはできますが。

Color
Color.jpg   ワクテカの色調整です。以前も書いたように、VisorControl Color Calibration Toolの機能がオフィシャルにサポートされてしまいました。こちらも左右独立して調整できます。左目だけ値を変えて、右目と比較しながら調整できたりして便利です。でもこれを長時間やってると頭クラクラしてきます。ご注意下さい。


  とりあえず設定してみましたが、実は私は色弱です。私の設定をアテにしないで下さい。誰かこういうの得意な人がいましたらよろしくお願いしたいです。
Gain:
  初期値は全て128。デフォルトは色が薄くて青が弱いので、こんなかんじにしてみました。でもなかなかいいかんじに青が出てくれません。
Gain Offset:
  初期値は48。最初は何を意味するものなのか分からなかったのですが、いじってたらなんとなく分かりました。
  Gainで色を濃くすると、暗めの映像を表示した時に画面が真っ暗になってしまいます。このGain Offsetを調整すると、そのへんの問題を解消できます。ガンマカーブみたいなものでしょうか。全部同じ値だと赤っぽい画面の時に黒味が目立つので、Redだけ値を上げてます。
  だけどあまり極端な値にすると、色の階調が減ってしまっているような気がします。あれ?それじゃnvidiaの色調整の時と同じじゃん。ちょっとmer2さん主張に自信が無くなってきました。

Brightness

Brightness.jpg   輝度調整幅を設定します。初期値は上から48、 64、80。
  はっきり言ってデフォルトは輝度の幅が広すぎです。これは使えます。





Mouse Emulation
  そのまんまです。そういえばここは全然いじってないや。

Miscellaneous

Miscellaneous.jpg   さあ、ここはいい物がいっぱい詰まっています。






  ただし、「Enable External Monitor:」と「Force 3D Mode:」の二項目のボタン表示はすごく不条理です。
  例えば画面の「Force 3D Mode」は「3D」と表示されていますが、これは「3Dボタンを押すと3Dモードになるよ」という意味です。この状態でボタンを押すとボタン表示が「2D」になってz800内部では「3D」が有効になります。3Dモードになっているのに、表示は「2D」です。ほーら頭が痛くなってきた。ほとんど悪いインターフェイスの見本ですね。

Enable External Monitor:

  実はこれの意味するところを理解していないのですが、「Enable」のほうが画質がいいような気がします。だけどこの設定はEEPROMに保存されないようで、電源(USB)を抜くとデフォルトの「Disable」に戻ってしまいます。
Force 3D Mode:
  3Dモードと2Dモードを切り替えます。
  電源投入直後のz800でLabTool実行した直後は、ボタン表示は「3D」になってますがz800内部では3Dモードになってるみたいです。そういう反応をします。つまり、LabTool実行直後に2Dモードに設定するにはボタンを2回押す必要があります。ああ頭痛い。
  立体視しないで普通の画像を見る時は絶対2Dモード推薦です。2Dモードの時はステレオドライバーが有効だろうが画像は2D表示になります。
  Stereoscopic PlayerのSoftware Pageflippingを使う時は3Dモードに設定します。

  前バージョンの3DVisor.exeにも「3D Mode」というチェックボックスが有ったのですが、どうやら前バージョンではこれがちゃんと動いてなかった模様。チェック入れても変化無かったです。

Toggle Left and Right Displays:
Cycle through brightness levels:

  読んで字のごとくです。
Reset onoboard EEPROM
  これも読んで字のごとくですが、何故か「Color」の設定はリセットされません。なんでだろ。
Screen saver:
  ごめんなさい。これはあんま触ってないので使い方がよくわかんないのです。

Timeout (seconds)
  これも最初はさっぱり意味不明だったのですが、SetupWizardと並行していじってたら判明しました。z800の電源投入から画面がオフになるまでの時間設定です。
USB Timeout:
はUSB接続オンリーの時、
Ext Timeout:
はACアダプタ使用時の設定です。後は書いてあるとおりです。これで安心して映画を見られます。

  さて、至れり尽せりな感のあるLabToolですが、これもばぐ持ちです。しかもかなり重症です。
  LabToolから「2D Mode」 -> 「3D Mode」の切り替えを行なうと、立体視対応ソフトを実行する度にランダムに左右の画像が入れ替わるという謎の現象が発生してしまいます。
  Stereoscopic Playerとかだったらソフト上で左右の画像が入れ替えられるので対応できますが、ステレオドライバーで3D化したゲームではこうなると打つ手が有りません。この症状はUSBケーブルを差し直すかEEPROMをリセットするかしないと直らないようです。いやあたしゃ焦ったよ。


3D Launcher
  ゲーム専用のランチャです。
  実はまだ
Torus Trooperでしか動作確認をしていません。上のLabToolの「左右の画像がランダムに入れ替わり現象」のせいで要らぬ苦労をしてしまいましたが、z800の電源投入直後ならばちゃんと3DでLaunchしてくれています。
  ちなみにLabToolとの同時起動するとエラーになります。z800と通信できるソフトはひとつだけのようです。

  ゲームごとに2D/3Dモードとかヘッドトラッキングの使い方などを設定できます。なんといっても恐ろしいのはX,Y,Z方向の移動をサポートしているところです。今迄のYaw,Pitchと合わせて5DOFが実現されています。凄いんですけどX,Y,Z方向の移動を割り当てられるのはキーボード入力のみです。実はほとんど使えません。ジョイスティックにも割り当てできればよかったのに。
  しかしそれ以前にz800のX,Y,Z方向の感度が使えるレベルなのかもいまいち謎です。そのへんの謎は「顔の傾きも感知できないのか」という謎も含めてZ800 3DVisor SDKが解決してくれるのではと思うのですがどうでしょうか。

  さて、このソフトもちょっと問題が。ランチャーに登録できるのは
\Documents and Settings\<ユーザー名>\
以下に置いてあるショートカットのみとなっています。つまりデスクトップやスタートメニュー内のショートカットしか相手にしていないのです。これじゃあインストーラーでインストールするタイプのゲーム以外はランチャーに登録できません。でも大丈夫、だったら\Documents and Settings\<ユーザー名>\以下にショートカットを置いてしまえば良い事です。専用フォルダでも作ってどばどば入れときましょう。


XtendDesk
  さあ最後です。このソフトはなんとあのSurroundSightもどきです。本当にやってくれるぜeMagin。

  広大な仮想デスクトップの中をヘッドトラッキングであちらこちらと移動できるソフトです。あくまで実験ソフト風ですが、用途によっては実用に耐えるのではないでしょうか。その用途が思い浮かばないのですが。とにかく使ってワクワクする夢いっぱいなソフトです。
  仮想デスクトップの広さはデフォルトは3200x1800ですが、最大7200x5400まで拡大可能です。ちなみにSurroundSightの仮想デスクトップは14400x4800だそうです。
  だけどXtendDeskは仮想デスクトップの見取り図(?)が表示されて、現在どこに居るかが分かりやすくなっています。かなり使えるレベルに改良されています。これで実画面がもっと広かったらなあ。

  ヘッドトラッキングのスクロール対象をデスクトップから各ウィンドウの入力(カーソルキー、マウスホイール)に切り替えられるToggle Scrolling Methodという機能が便利そうなのですが、これを使うと以後ヘッドトラッキングが効かなくなってしまいます。このソフトもまたばぐ持ちなのです。うーん残念。

  ふと思い付きでデスクトップ用のモニター上で実行してみました。残念ながら画面解像度は800x600になってしまいました。1280x1024で動いたらそれはそれで面白そうなんだけど。もったいないな。

  SurroundSightにしろこのソフトにしろ、背景がスクロールしないで固定になってしまうのがいまいちです。壁紙を非表示にしてもなんだか殺風景です。そこでこのソフト。
  ウィンドウの枠を非表示にして画像を表示できます。これで画像を背景にべたべたと置けば仮想デスクトップが華やかに変身します。画像を実画面サイズより大きく表示できないのが残念。


ついでに:
  新ドライバとか言ってますが、デバイスのドライバそのものは日付がかなり古めなので、前バージョンと同じものみたいです。そこで前バージョンの3DVisor.exeも使えるんじゃないかと以前のハードディスクからコピーして試してみたら、ちゃんと使えました。これで装備は完璧です。きゃっほう。


  そんな訳でz800の新ドライバを公開されてから半年経ってやっと使いました。いややる事いっぱいあってさー。
  んで、使って驚きました。これはバージョンアップなんて代物ではありません。全く別物です。z800が生まれ変わります。z800ユーザーは絶対に導入しましょう。(何を今更ですが)

  前バージョンの3DVisor.exeは常駐してz800をコントロールするソフトでしたが、新バージョンのソフトはどちらかと言うと「z800のEEPROM更新ツール」となっています。
  一旦設定をしてしまえば、設定内容はz800内に保存されます。ソフトが常駐している必要は有りません。流石にヘッドトラッキング関係は常駐が必要ですが、普段使いにマウスエミュレーションは邪魔な場合がほとんどですからソフトが常駐している必要はまず無いでしょう。
  前バージョンはPPJoyZ800LiveForSpeed Pluginのようなz800対応ソフトを使うにはいちいちソフトの常駐を解除する必要が有りましたが、新バージョンではその手間が無くなりました。正しい判断と言えましょう。
  ゲーム等でマウスエミュレーションを使う場合はランチャで個別に対応する仕組みになっています。


  EEPROMを直接操作する事によって、前バージョンではできなかった事がいろいろできるようになっています。
・ 画面の色調整
  なんとVisorControl Color Calibration Toolの機能がオフィシャルにサポートされてしまいました。ハードウェアレベルでの色調整が可能になります。こんなトラブルともオサラバです。
・ Force 3D Mode
  どうやらz800には「2D Mode」「3D Mode」というのが存在していたようです。「3D Mode」にすると左右の画面の出力に微妙な差が感じられます。結構チラつきます。「2D Mode」にすると左右の画面は同じ絵になるようです。
  z800は左右の焦点が合わせづらいという事で有名でしたが、もしかしたら前バージョンでは常時「3D Mode」で動いていたのかもしれません。もしかしたらですが。

  ハードレベルで色調整して「2D Mode」で見るz800の画面は、前バージョンの時にnvidiaコントロールパネル内の"カラー補正"で色調整していたz800の画面とはもう別物です。まるで違う機械です。これがz800の真の力か!凄い、凄いぞz800!

・ 輝度調整幅の調整
  z800はコントロールボックスのスイッチやソフト上の操作で5段階の輝度調整ができるようになってますが、輝度の幅が極端すぎて実用に耐えるのは5段階のうち2段階ぐらいでした。この輝度調整の上限値と下限値とセンター値を設定できます。ちゃんと設定すれば5段階みんな活用できる輝度にできます。これは使えます。

・ タイムアウト時間の調整
  z800は電源投入後から画面が暗くなるまでのタイムアウト時間が
USB接続時: 5分(!)
ACアダプタ使用時: 2時間半
となっていました。前バージョンのドライバがバージョンアップして、ドライバ常駐時はタイムアウト時間が長くなるようになっていましたが、ドライバ常駐を解除すると初期設定のタイムアウト時間に戻ってしまっていました。このタイムアウト時間をお好みの長さに設定できます。


  と、いい事ばかり書いたので欠点指摘のコーナーに移りましょう。

  オフィシャルにサポートされたとは言え、EEPROMの直接操作はリスキーな香りを漂わせてしまいます。EPROMの書き込みには数秒の時間を要します。この間に何かあったら、もしかしたらもしかしてしまうかもしれません。もしかしたらもしかしないかもしれませんが、注意しておいたほうがいいでしょう。

  それから、新バージョンのソフト達にはちょこちょことバグが見受けられます。これらが直る日は来るのでしょうか。どうでしょうか。なんだかSDKには一部のソフトのソースコードが入ってるんだけど、自分で直せという事なのでしょうか。ガクガクブルブル。

  ついでに、オフィシャルページのフォーラムですが、完全閉鎖したものかと思っていたら実は下の2つ(SDK,Developer Support)がまだ生きていました。全然気が付かなかったよ。


ついったやろうぜ
ブログ内検索
検索エンジンから来た人、思った結果が出なかったら再検索してちょ。
最新コメント
[08/27 BernardSr]
[08/27 BernardSr]
[08/27 BernardSr]
[12/29 GroverIcow]
[12/26 gayenKinesl]
[12/25 gayenKincfv]
[12/25 geRoesonokp]
[12/24 geRoesonmxu]
[06/30 LindsayDom]
[06/24 Ayukupim]
[06/22 francinerj2]
[06/21 Karsewis]
[06/17 Porsulik]
[06/16 Porsulik]
[06/16 Porsulik]
[06/16 Amimior]
[06/15 WilfordMof]
[06/11 lakeishatb1]
[06/04 Mathewlomi]
[05/31 tiopomWarriorvrp]
[05/31 Lasdumor]
[05/29 Aredorer]
[05/27 IMPUCKICT]
[05/26 Asosans]
[05/24 RaymondZice]
アクセス解析
カウンター
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
mer2
性別:
男性
趣味:
野良猫の餌付け
Powered by ニンジャブログ  Designed by 穂高
Copyright © PCで立体視してみるぶろぐ All Rights Reserved
忍者ブログ / [PR]