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

[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


この記事にコメントする
お名前
タイトル
文字色
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
おおおぅ・・・歴史的瞬間を目撃した気分です。

正直な話、最近あんまりZ800を使って遊んでなかったんですが、
また熱が再開しそうな感じです。
インパルス 2008/03/29(Sat) 編集
Re:無題
凄いでしょ?泣きました?

半年遅れのレポートになってしまいました。申し分けございません。

この機能を使ってz800専用ゲームとか出ていたら凄かったろうに。また安くならないかなあ。

とにかくz800たんはまだまだ遊ばせてくれそうです。例えモニターが壊れても、センサーだけで遊べそう。
z800たんを可愛がってあげてやって下さい。
 【2008/03/30】
この記事へのトラックバック
この記事にトラックバックする:
ついったやろうぜ
ブログ内検索
検索エンジンから来た人、思った結果が出なかったら再検索してちょ。
最新コメント
[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]
アクセス解析
カウンター
カレンダー
02 2024/03 04
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
31
プロフィール
HN:
mer2
性別:
男性
趣味:
野良猫の餌付け
Powered by ニンジャブログ  Designed by 穂高
Copyright © PCで立体視してみるぶろぐ All Rights Reserved
忍者ブログ / [PR]