2020-08-18: box2d-liteのScala移植
やったこと
Scala
box2d-liteをScalaに移植していた。
何だかんだ一日かければ大体移植できた。できたはず‥‥。
デモのうち3つ目までちゃんと動くのを確認したけど、残りがどうかは分からない。
というか正しく動いているかどうかを確認するのがすごく難しい。
どうすればいいんだろう。
途中でおかしい気がした挙動も、何がおかしいのか確認するのにすごく手間取った。
物理エンジンの実装に対する慣れが必要だと思われる。
パフォーマンスはかなり微妙となっている。
というのもベクトルとか行列とかを細かくアロケーションしてるのがよくないと思われる。
@inlineを付けてエスケープ解析に期待すればもう少しはマシになるかも。
デモを完成させて、コードを整理したら公開するつもり。
あと、box2d-liteがオリジナルのBox2Dらしいのだけど、どうしてこれがBox2Dという名前なのかよく分かった気がする。
基本プリミティブがBoxしかない2次元の物理エンジンだから、Box2Dというわけだ。