ソースの書き換え
BulletをWindows Mobileで動かすために若干のソースの書き換えをしています。
書き換えの理由として、Windows Mobileではcosfやsinfのようなfloatの算術関数が使えなかったことにあります。その場合には、BT_USE_DOUBLE_PRECISIONやBT_FORCE_DOUBLE_FUNCTIONSを指定すると事でfloatの命令をdoubleに変えることが出来ます。三角関数などはBulletの算術ライブラリのほうで、プリプロセッサによって精度が変わるようにマクロで記述されているんですが、一部のソースがこれを守ってないんですよね(sinfとかcosfあとかatan2fをそのまま呼んでいる)。コレに関しては修正して欲しいよなぁ(フォーラムで言うべきだろうけど)。
あと、
・btSequentialImpulseConstraintSolver.cpp 内 719行目
solverConstraint.m_penetration = btMin(cp.getDistance()+infoGlobal.m_linearSlop,0.f);
を下記に変更.btSclarということを明示する.
solverConstraint.m_penetration = btMin(cp.getDistance()+infoGlobal.m_linearSlop,(btScalar)0.0);
と言うのに関しては、doubleで行くときに第1引数はdoubleだけど第2引数がfloatと見られる(0.fなので)らしくてコンパイラがエラーを出しますね。
« 今週 | トップページ | SoftBody »
「Programming」カテゴリの記事
- シングルヘッダのglTFシリアライズ/デシリアライズライブラリ:fx-gltf(2018.04.17)
- I3D 2018のPapersのリストが出そろったみたい(2018.04.12)
- GDC 2018 Cluster Forward Rendering and Anti-Aliasing in 'Detroit: Become Human'(2018.04.05)
- WinMLの始め方(2018.04.03)
- DirectX Raytracing (DXR) の話 その1 APIの構造など(2018.04.03)
« 今週 | トップページ | SoftBody »
コメント