プラットフォーム非依存のサンプル

ではまず、partix/examples/sample0からみていきましょう。

sample0はプラットフォーム非依存のサンプルで、これだけは
linuxでもビルドできるようになっています。
(他のサンプルはレンダリングGUIを伴うのでDirectX専用です)。


内容は、「地面(固定平面)の上に物体(SoftVolume)を2つ落とす
シミュレーションを行い、その結果をSVGで出力する」というものです。
プラットフォーム非依存のためにOpenGLDirectXなど特定の
レンダリングシステムを使わないようにすると、結果の出力に
困るわけですが、今回はワイヤフレームを投影変換だけして
SVGとして出力することにしました。


3Dプログラミングはトラップが多く、
画面に目的のものが出力されないときに
何が原因なのか非常にわかりにくかったりすることがありますが、
SVGを出力する方法を覚えておくと
「あるフレームのイメージを保存しておける」
「テキストとして開けば座標が書いてあるので
バグの原因を調べやすい」
などの特徴から効率的にデバッグできることがあるので、
プラットフォーム依存のプログラミングのときでも
覚えておくと役に立つことがあります。


IEだとSVGファイルをうまく見ることができないので、
FireFoxなど他のブラウザを用意しておく必要があるのが
ちょっと面倒ですけどね。