スポンサーサイト

  • --/--/--(--) --:--:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Bullet移植完了!!(MMDX v1.50a公開)

  • 2010/07/19(月) 16:05:14

MMDXにBullet物理エンジンの搭載、やっと終わりました!
XBox360に演算入りました~




お待たせしました!
これでいろんな物を揺らすことが出来るようになります(何を

今回の新機能は
・物理演算の移植/実装
・マルチスレッド対応
・デバッグシステムの追加
となります。
また、申し訳ありませんが、物理演算実装のために細かいところを弄りました。

スポンサーサイト

続きを読む

Bullet移植中……(副題:εってどのくらい?)

  • 2010/07/05(月) 02:44:26

物理エンジンのBulletを移植中……

現在必要分の移植は終わったのですが……
まぁ、バグってちゃんと動かないのでデバッグ中……
土日デバッグしてもつぶしきれない程度のバグ……

時間も体力もあまりかけてられないので
ソースほとんどコピペでいけるような移植方法を採用したので
写間違いは無いんだけど……

単純に移すだけでは上手くいかない箇所が何個かあるので、そこはちゃんと実装した……はずなんだけどねぇ……
その辺りでバグが出てるっぽい

理論的に間違ってる系のバグは厄介だなぁ……
おかげで土日潰してもバグがつぶしきれない

今潰したバグの中で一番ウザ買ったのがε(イプシロン)です。
浮動小数点演算にはよく「ある程度以下のズレは無しとする」として±εの範囲で判定することが多いのですが……
Bulletで使ってるεはfloat.hのFLT_EPSILONなのですが、これ、C#のfloat.Epsilonとぜんぜん違う値なんですよ……
float.hのFLT_EPSILONは1.19e-7ぐらいの値で、C#のfloat.Epsilonは1.4013e-045fです。
実はこれ、εの意味が違うんですよ。
float.hのεは計算上1+ε!=1となる非負の最小値として定義されるのに対して
float.Epsilonはε!=0となる非負の最小値が定義というズレが……

なんじゃそりゃあああああああああああぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。