2010-02-01から1ヶ月間の記事一覧

terrainを試してみる

この前発見したterrainノードを試してみる。 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=20940&highlight=terrain 更に先日OpenGLで試したskydomeと合体してみた。 (skydomeのソースを配布していたサイトは無くなっているぽくて見つからず) な…

dropがどうもよろしくないと思ったら

irrlichtはreferenceカウントがついているのに何か素のポインタ使っているのと使い勝手が変わらんなぁと思ったら、実際生のポインタで運用しているからだった。しかし、全部intrusive_ptrで包むのもつらいしどうしたものか。

tolua++で登録したc関数にluaのコールバック関数を渡す方法を探す

lua

こちらの記事 http://blogs.wankuma.com/izmktr/archive/2009/04/06/170817.aspx を参考にやってみた。 謎のエラーに襲われるなど紆余曲折を経てとりあえず目的を達成することができた。美しくない方法だけど。まず、やりたいこと。 -- test.lua -- toluaで…

やっぱりLuaでやる

とりあえず確実にできる方法でさくっとやってみることにした。 使ったバインダはtolua++。 本当にさくっとできた。tolua++はテンプレートによるコード生成では無くて、実際にcppとhをはきだすのでこちらの方が分かりやすい。コードジェネレート時のメッセー…

頓挫w

バインダが使いこなせんw。久しぶりのtemplateヘルだった。templateとマクロでできているとうまく行かない時に難航する。結局sqlplus.hのMatchがどういう経路で呼ばれているのか分からんかった(呼ばれるというかtemplateのインスタンス化とかか?)。今日の…

オーバーロードメンバ関数の登録

こんな感じでキャストで特定してやれば渡せる。 メンバ関数は所属するクラスまでが型に含まれていてそれを表すのに (irr::scene::ISceneManager::*) こんなのが必要だった。 .Func(_SC("getMesh"), (irr::scene::IAnimatedMesh*(irr::scene::ISceneManager::…

未登録のクラスをsquirrelに返したときのエラー

最終的に if(len<0) len = (SQInteger)scstrlen(news); でnews=NULLで止まる。 これは、中で呼ばれるSqrat::PushVarに未登録の型が渡されたときの現象だった。

ENUMを引数に持つ関数の呼び出しでクラッシュ

デバッガで見ると > sqirr.exe!Sqrat::Var<enum irr::video::E_DRIVER_TYPE>::Var<enum irr::video::E_DRIVER_TYPE>(SQVM * vm=0x003de640, int idx=0x00000002) 行 47 + 0x13 バイト C++sqratTypes.hの value = *ClassType<T>::GetInstance(vm, idx); // ClassType<T>::GetInstance(vm, idx)が0を返しそれの参照先を得ようとして死亡</t></t></enum></enum>…

irrlichtのクラス・列挙型をエクスポート

引き続き、前から順番にエクスポートしていくがひとつsqratの定数のエクスポート様式に合わせてスクリプトを変更した。c++でのネストしたnamespace内のenum irr::video::EDT_SOFTWARE をとりあえず irr.video.EDT_SOFTWAREとしていたが都合により irr.EDT.SO…

sqratでbind

c++バインドにはsqratを使うことにした。 http://scrat.sourceforge.net/ 手順等は http://www.ruche-home.net/?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%C1%C8%A4%DF%B9%FE%A4%DF%B8%C0%B8%EC%2FSqrat%2F%B3%B5%CD%D7%A4%C8%C6%B3%C6%FE を参考にし…

squirrelはじめました

irrlichtのシーン構築をC++の外部に出す方法を模索中。ノードの位置を変える度に再コンパイルが発生するなど、開発効率が大変よろしくない。はじめはluaでシーン記述をやるつもりだったのだが整数と浮動少数の区別が無いことなどいろいろ気になりだした。そ…

よさげなリンクを発掘

http://ariel.mmorpgplayer.com/ 主にterrain方面で使えそうなコードを発見。 地面とか雲とか木とか草を描画する動作するコードを確認した。 この辺の技を組み合わせて、スカイドームから地形まで一式揃えたいところだな。

Shader実験

irrLichtのシェーダー機能を試してみた。 OpenGLとDirectXでほとんどの部分を共用にできるので、GLSLとHLSL両方を試してみるには便利だ。irrLichtをマスターするという初期投資は必要になるが。 glslのテクスチャ周りではまった点をメモ。 その1 複数のunif…

BIOS updateに失敗orz

dual coreの片方の負荷が上がりっぱなしなのが気になってBIOSをupdateしようとしたら失敗しやがった・・・。 a8vのBIOSをasusのツールでWindows上からアップデートしたらなんか途中で失敗。 その後で再起動したらBIOSが壊れてるので修復するメッセージが出て…

とりあえずミク立ちさせてみた

blenderでボーンを入れてポーズをとらせてみた。 (前しかちゃんと作ってないw) 続きを作る気力を失わない程度にはできている。 もうちょっと頭身低いほうがよいかもしれないがどうしようかな。 作業的には、blenderのボーン入れは良好だった(左右対称機能を…

ボーン入れはblenderでやってみることに

メタセコでのモデリングでとりあえず手足が揃ったのでメタセコ上でmikoto方式のボーンを組んでみることにした。いろいろ手順とかを参考にしながらやってみたのだが、左右対称とか気にするとかなり厄介だ。対称モードにするのを忘れたり、対称モードを解除す…

モデリング中

久しぶりにモデリングを開始。ボーン入りのフル稼働モデルを仕上げるのが目標だがうまくいくかな。 現状、首まで作って500強の頂点数。眉間の毛以外はミラーリングしている。後でOpenGLで動かして遊ぶ素体にもなる予定なのでできるだけローポリで行く方針。…

ことはじめ

ビルドしてちゃんと実行できる環境を作るのに手間取ったのでメモ。 環境はWindowsXP+VC9(2008 express edition)。 まず、うまくいかなかった例から。 ソースは、最新のリリース版2.75をダウンロードした。 http://code.google.com/p/bullet/downloads/list …

ロケールとは別にメッセージだけ英語表示にする。

export LANG=ja_JP.SJIS export LC_MESSAGE=Cとかする。 vimのquickfixでMakefileがネストした時にエラー箇所に跳べないのでおかしいと思ったら、makeのディレクトリ入りました出ましたの日本語メッセージが捕捉できてないのが原因くさい。 メッセージだけ英…

boost.pythonでC++からpythonの関数オブジェクトをコールする。

boost.pythonのFAQにはこんなの http://www.boost.org/doc/libs/1_41_0/libs/python/doc/v2/faq.html#funcptr が載っているがそりゃ無理だろうとw そうじゃなくて、普通にpythonのオブジェクトを取り出してコールする方法について。 #include <boost/python.hpp> #include <iostream> vo</iostream></boost/python.hpp>…

IKがようやく動いた

苦労したよw。 モーション関連でいろいろバグがありそうだったので、スキニングの処理に沿ってデータの読み込みから最終の行列まで途中の値をユニットテストで辻褄を合わせていく作業を敢行した。 まず、リファレンス実装として http://r13n.spaces.live.co…