Skip to content

ATF Model Viewer Sample_j

Gary edited this page Mar 17, 2015 · 2 revisions

Table of Contents

説明

ModelViewer は、ATGI および Collada モデルを、ATF クラスを使用して読み込み、OpenGL® を使用してレンダリングする方法を示します。

サンプルのプログラム方法に関する詳細は、Model Viewer Programming Discussion をご覧ください。

ModelViewer が示す ATF の機能

  • MEF (Managed Extensibility Framework) を使用したアプリケーションのまとめ。
  • CommandServiceSettingsService、および ControlHostService を含むアプリケーションシェルフレームワークの使用。
  • FileDialogServiceRecentDocumentCommands、および StandardFileExitCommand などのコンポーネントを使用したファイル処理。
  • リソースリゾルバーを使用した、モデルファイルの読み込み。
  • ドキュメントおよびクライアントを使用した、特定の種類のドキュメントの処理。
  • 適応機能および DOM アダプターを使用した、さまざまな方法による DOM ノードの処理。
  • DesignControl キャンバスを使用した、グラフィックモデルの表示。
  • OpenGL® を使用した ATGI ドキュメントおよび Collada ドキュメントのレンダリング。

ModelViewer の実行

サンプルを実行するには、\bin\wws_atf\Release にある ModelViewer.exe をダブルクリックします。

空のキャンバスが開いたイアログが表示されます。そのキャンバスにモデルファイルを開くことができます。

メニューオプション

  • [ファイル]
    • [3D Model を開く]: 3D モデルファイルを開きます。
    • [最近使用したファイル]: 最近使用したファイルを開くサブメニュー。
    • [終了]: ModelViewer を終了します。
  • [編集]
    • [キーボードショートカット]: [キーボードショートカットをカスタマイズ] ウィンドウを使用して、キーボードショートカットを設定します。
    • [設定を読み込み/保存]: [Load or Save Settings] ウィンドウを使用して、現在の ModelViewer の設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
    • [基本設定]: コマンドアイコンのサイズなど、アプリケーションの詳細を設定します。
  • [表示]
    • [Fit]: モデルオブジェクトがウィンドウ内に表示されるようにします。キーボードショートカットは F キー。
    • [Smooth]: 完全にレンダリングされたモデルを表示します。
    • [Wireframe]: モデルのワイヤーフレームを表示します。
    • [Outlined]: 完全にレンダリングされたモデルをワイヤーフレーム付きで表示します。
    • [Textured]: モデルのテクスチャの表示、非表示を切り替えます。キーボードショートカットは T キー。
    • [Lighting]: モデルのシェーディングの表示、非表示を切り替えます。キーボードショートカットは L キー。
    • [BackFace]: モデル後面のレンダリングの有無を切り替えます。キーボードショートカットは B キー。
    • [CycleRenderModes]: Smooth、Wireframe、Outlined の各モードを繰り返します。キーボードショートカットはスペースキー。
  • [Window] (ウィンドウ)
    • [左右に並べて表示]: ウィンドウを左右に並べて表示します。このサンプルでは何もしません。
    • [上下に並べて表示]: ウィンドウを上下に並べて表示します。このサンプルでは何もしません
    • [重ねて表示]: ウィンドウを左右に重ねて表示します。このサンプルでは何もしません
    • [ウィンドウ] 配下のチェックボックス付きのメニューアイテムのリスト: クリックするとチェックマークが付き、そのウィンドウが表示されます。
    • [UI レイアウトをロック]: ウィンドウを移動できないようにします。
  • [ヘルプ]
    • [バージョン情報]: ModelViewer の情報ダイアログを表示します。

ツールバー

ツールバーには次のツールボタンがあり、メニューからも利用できる機能を起動します。

  • [UI レイアウトをロック]
  • [Smooth shading]: メニュー [表示] > [Smooth] に相当します。
  • [Wireframe rendering]: メニュー [表示] > [Wireframe] に相当します。
  • [Smooth shading with wireframe outline]: メニュー [表示] > [Outlined] に相当します。
  • [Textured rendering]: メニュー [表示] > [Textured] に相当します。
  • [Lighting]: メニュー [表示] > [Lighting] に相当します。
  • [Render backFaces]: メニュー [表示] > [BackFace] に相当します。このモードはワイヤーフレームモードの場合にのみ、視認可能です。

ModelViewer の使用法

ATGI (拡張子 .atgi) もしくは Collada (.dae) のモデルファイルを開くと、[3D] タブにファイルが表示されます。一度に表示されるモデルは 1 つです。

ツールバーボタン、メニューアイテム、またはキーボードショートカットを使用してレンダリングの方法を変更します。

以下から 1 つのレンダリングのみを選択できます。

  • [Smooth]: 完全にレンダリングされたモデルを表示します。
  • [Wireframe]: モデルのワイヤーフレームを表示します。
  • [Outlined]: 完全にレンダリングされたモデルをワイヤーフレーム付きで表示します。
スペースキーを押すと、上記のモードを順に繰り返します。

以下のレンダリングモードの切り替えが可能です。

  • [Textured]: キーボードショートカットは T キー。
  • [Lighting]: キーボードショートカットは L キー。
  • [BackFace]: キーボードショートカットは B キー。
マウスホイールを回すと、オブジェクトをズームします。メニューの [表示] > [Fit] を選択するか F キーを押すと、ズームが元に戻りウィンドウにモデル全体が最大表示されます。

ModelViewer のモジュール

モジュールには次のような機能があります。

  • Program.cs: Main() 関数を含みます。このプログラムが、使用されている ATF クラスおよび内部コンポーネントをリストした MEF TypeCatalog を作成します。
  • ModelDocument.cs: モデルファイルのドキュメント用の ModelDocument クラスを定義します。
  • ModelViewer.cs: ModelDocument のドキュメントクライアントである ModelViewer コンポーネントを指定します。
  • RenderView.cs: モデルドキュメントから 3D シーンを表示するための DesignControl コントロールを登録する RenderView コンポーネント。
  • RenderCommands.cs: RenderCommands コンポーネントは、レンダリングモードを変更する RenderView コンポーネント関連のユーザーコマンドを提供します。
  • RenderPrimitives.cs: OpenGL® を使用してモデルをレンダリングする RenderPrimitives クラス DOM アダプター。
  • RenderTransform.cs: オブジェクトがモデル内の適切な位置に表示されるよう、レンダリングを適切にトランスフォームする RenderTransform クラス DOM アダプター。

このセクションのトピック一覧

Clone this wiki locally