プラットフォーム非依存のサンプル
ではまず、partix/examples/sample0からみていきましょう。
sample0はプラットフォーム非依存のサンプルで、これだけは
linuxでもビルドできるようになっています。
(他のサンプルはレンダリング・GUIを伴うのでDirectX専用です)。
内容は、「地面(固定平面)の上に物体(SoftVolume)を2つ落とす
シミュレーションを行い、その結果をSVGで出力する」というものです。
プラットフォーム非依存のためにOpenGLやDirectXなど特定の
レンダリングシステムを使わないようにすると、結果の出力に
困るわけですが、今回はワイヤフレームを投影変換だけして
SVGとして出力することにしました。
3Dプログラミングはトラップが多く、
画面に目的のものが出力されないときに
何が原因なのか非常にわかりにくかったりすることがありますが、
SVGを出力する方法を覚えておくと
「あるフレームのイメージを保存しておける」
「テキストとして開けば座標が書いてあるので
バグの原因を調べやすい」
などの特徴から効率的にデバッグできることがあるので、
プラットフォーム依存のプログラミングのときでも
覚えておくと役に立つことがあります。
IEだとSVGファイルをうまく見ることができないので、
FireFoxなど他のブラウザを用意しておく必要があるのが
ちょっと面倒ですけどね。