2008年04月26日

HWND⇔CWndの変換

時間がたつのが早すぎますねぇ。さて今日はただのメモです。

ttp://d.hatena.ne.jp/octech/comment?date=20070224より引用

ウィンドウのハンドルと、CWndオブジェクトの行ったり来たりをするときにこういう処理で出来る。というメモ。

// HWND→CWnd*
CWnd* pCWnd = CWnd::FromHandle( hwnd );

// CWnd*→HWND
HWND hwnd = pCWnd->GetSafeHwnd();

web拍手 by FC2
posted by シンドラー at 15:36 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月10日

OgreODEとかNxOgreとか

というわけで、Ogre 3D + CEGUI + ODEでいろいろパラメータ変更したりするモノを作ってみたわけですが、いまいちですね。
パラメータの確認ぐらいには使えますが、これといって面白くないですね。
マー目的は達成できたので良しとしますか。

で、自分でODEの導入などをしていますが、既に組み込んで使いやすくしているものもいろいろあります。

OgreODE
http://www.ogre3d.org/wiki/index.php/OgreODE

NxOgre
http://www.ogre3d.org/wiki/index.php/NxOgre

こういうのを使った方が便利で良さそうですが、まぁ自分で組み込んだ方が勉強になるのではないかなーとは思います。

NxOgre使って面白そうなことをしている方がいますね。
ttp://hanagasira.s25.xrea.com/php/ND/

結局は何がしたいか決めずに適当にやっても微妙なようです。何かこうミニゲーム的なものでもいいので面白いもの作ってみたいですね。

実行画面

白い枠はBounding Boxです。枠から出ているのはバク転してるからです。いつの間にか1画面に戻っているのは4画面だと60fps出なかったからです。Irrlichtのサイトを参考に30か60fpsに固定しています。既にソースコードが目も当てられないのでいつものように公開しません。

screenshot_cegui_008.JPG
続きを読む
web拍手 by FC2
posted by シンドラー at 10:21 | Comment(0) | TrackBack(0) | Ogre 3D & CEGUI | このブログの読者になる | 更新情報をチェックする

2008年04月07日

Ogre 3D + CEGUI + ODE その3

というわけで、今度こそODEを入れてみました。
Irrlicht+ODEの時に作っていたクラスを組み込んだ形です。

1. Ogre 3DでMeshファイル読み込み
2. その位置、角度、大きさ(バウンディングボックス)をODEに伝える
3. ODE側でその大きさのボックスを作成(座標系の違いに注意)
4. ODE側でシミュレーション
5. ODE側からOgre 3D側にデータを渡し、位置、角度の更新

といった流れになっています。Irrlichtの時と同じですね。

実行結果

screenshot_cegui_007.JPG

上から落ちてきて、跳ねて倒れた後の図です。
CEGUIの方でオブジェクトの位置と角度は表示してみました。
今後はCEGUIでパラメータを設定し、結果を確認できるようにしてみたいと思います。

web拍手 by FC2
posted by シンドラー at 03:07 | Comment(0) | TrackBack(0) | Ogre 3D & CEGUI | このブログの読者になる | 更新情報をチェックする

2008年04月04日

Ogre 3D + CEGUI + ODE その2

今回はODEを組み込む予定ですが、先に複数ウィンドウをやりたい気分になったのでそちらを行いました。

Basic Tutorial 8を参考にSceneManagerを4つ作って、それぞれにオブジェクトを作ったりしてみました。
あとはIntermediate Tutorial 5を参考に、床と芝生を付けてみました。

次回こそきっとODEに…。

実行結果

screenshot_cegui_004.jpg

おまけ。麦畑にいるホロに見えるといいですね。
モデルは3次元CG@七葉のデータを使わせていただいております。相変わらずBlenderで透過処理ができておりません(左図)。困ったものです。

screenshot_cegui_004.JPG screenshot_cegui_005.JPG screenshot_cegui_006.JPG

どうも白い部分が気になってしょうがなかったので、気合入れていろいろ試しました(真ん中)。気がついたら外が明るかったです。

そしてさらなるおまけ(右図)。
続きを読む
web拍手 by FC2
posted by シンドラー at 17:57 | Comment(0) | TrackBack(0) | Ogre 3D & Blender | このブログの読者になる | 更新情報をチェックする

Practical Application

Ogre 3Dをオブジェクト指向的に使いたい人のためのチュートリアルとして、Practical Applicationがあります。本来なら前々回の記事の前にここから始めるべきでしたね。というわけでこの辺りを少し見ていきたいと思います。


  1. Practical Application - Organization - Plan ahead for deployment and installation concerns.
  2. Practical Application - Foundation - Beyond the ExampleApplication.
  3. Practical Application - Initialization - Fire up Ogre and her sisters.
  4. Practical Application - GUI - CEGUI and Ogre and how they get along.
  5. Practical Application - Let's Get Started - Beginner Tutorial #1 WITHOUT the ExampleApplication framework.
  6. Practical Application - Something With A Bit More Meat - A full working example of CEGUI with Ogre.

というような構成で、それぞれを見ていけば勉強になるのではないかと思います。ですが最近の精神力的に翻訳する気力がないので説明はこの辺りにしておいて、このPractical Application + ODEのデモでも作ってみたいと思います。

元々このPractical Applicationは、3DレンダリングにOgre 3D、オーディオにOpenAL、物理エンジンにODE、入力にOISなどを使えるようなオブジェクト指向的設計をします的な感じですので、そんなに難しくはないはずだと信じたいものです。

実行画面

screenshot_cegui_003.jpg

続きを読む
web拍手 by FC2
posted by シンドラー at 13:45 | Comment(0) | TrackBack(0) | Ogre 3D & CEGUI | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。