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

スキニング実験

xファイルとpmd、vmdを読み込んでみた。 複数のキャラに別の動作をさせる場合は個々にタイムラインが必要なことがわかった。ひとつのタイムラインに焼き付けていくのでもいいが考えておこう。 一応、x形式での行列アニメーションの実装は完了した。 tinyと某…

pyOpenGLをpy2exeする

すんなりとはいかなかった。インストール http://www.xucker.jpn.org/pc/pythonexec.htmlまず、こちらを参考にvcランタイムの問題をクリアする。 http://d.hatena.ne.jp/AMENOHI/20090202/1233575464exeを実行するとpyOpenGLのエラーがでる。 $ ./dist/gui.e…

tinyさん読み込み

去年から作ろうしていたモーション再生プログラムがやっと形になりそうだ。mmdのモーションを読み込んで遊びたい ↓ blenderのimporterを発見して改造(python) ↓ なんとなくデータ構造がわかったのでスタンドアロンの再生プログラムを作ろうとする(python) ↓ …

Boost.python使ってみた

ここのところwxWidgetsを使ってc++でごりごり書いていたのだが、やっぱりGUIをc++で書くのはめんどくさすぎるのでスクリプトを導入することにした。 速度が必要なところだけc++でモジュールを書く方向。去年の年末微妙に話題になっていたBoost.pythonでやっ…

Boost.pythonその2

vector_indexing_suiteではまった。 shared_ptrを格納したvectorから取り出したオブジェクトのメソッド呼び出しがうまくいかずにはまる。こんなの struct VertexBuffer { std::vector<boost::shared_ptr<IndexBufferArray> > &getBuffers(); }; エラー Boost.Python.ArgumentError: Python argume</boost::shared_ptr<indexbufferarray>…

undefined reference to `vtable...の対処

c++

こんなエラーが出た ../opengl/debug/libgldriver.a(opengl.o):opengl.cpp:(.text$_ZN6opengl5JointD1Ev[opengl::Joint::~Joint()]+0x3a): undefined reference to `vtable for opengl::Joint' こうなっていたのを class IJoint { 省略(virtualのインターフ…

dds読み込み

c++

帰省して戻ってきたら2週間くらいたってしまった。 ぼちぼち活動再開。 今回は、x形式のファイル読み込みで必要になったddsファイルのローダ。 DirectXに依存しないで読めるように自前で実装した(代わりにboost入っているけども)。 非圧縮の32bit形式まで動…

gccでのテンプレートクラスの継承

c++

Modern C++をかじったりするとやりたくなりがちなテンプレート継承なのだが、gccではこんなエラーが出る場合がある。 # template<class T> # class Loader : public Base<T> # でBase<T>::hogeをコールしているところで error: there are no arguments to ‘hoge’ that depen</t></t></class>…

mqoローダを作ってみる

ソース http://github.com/ousttrue/irrmqo pmdローダから始めようとしたら頓挫したので、敷居を下げて動かないモデルのローダからやってみることにした。ここのところpythonをメインで使っていたため、C++に対応できなくて妙に苦労したが何とか完了。 Irrli…

とりあえず日本語との戦いから

(Irrlicht-1.5.1を使用)チュートリアルをこなしていたらどうしても気になったのでまずは日本語の対処方法から。 こちらのチュートリアルでまずはFreeTypeでttfフォントを使うのをラーニング。 http://www.zgock-lab.net/irrlicht/tut06.htm これで文字列をリ…

Irrlichtを弄り始めた

gentooだとexamplesのビルドでundefined referenceが出るので必要に応じてMakefileを見ながら $ make LDFLAGS="-ljpeg -lpng -lIrrlicht -lz -lGL -lXxf86vm" とかする必要があった。 とりあえず動作を確認できたので中に進む