ODE(Open Dynamics Engine)を使ってみた(2)
目次
まずはとっかかりになるサンプルソースをコンパイルしてみることにした。
サンプルは下記サイトのソースを参考に(というかそのまま)させて頂いた。
http://demura.net/9ode/3993.html
#include <ode/ode.h>
#include <drawstuff/drawstuff.h>
dsFunctions fn;
void start() /*** 前処理 ***/
{
static float xyz[3] = {3.0,0.0,1.0}; // 視点の位置
static float hpr[3] = {-180, 0, 0}; // 視線の方向
dsSetViewpoint(xyz,hpr); // カメラの設定
}
void setDrawStuff() /*** 描画関数の設定 ***/
{
fn.version = DS_VERSION; // ドロースタッフのバージョン
fn.start = &start; // 前処理 start関数のポインタ
fn.step = 0; // simLoop関数のポインタ
fn.path_to_textures = "/usr/local/src/ode-0.11.1/drawstuff/textures"; // テクスチャ
}
void dmLoop(int w, int h){
setDrawStuff();
dsSimulationLoop(0,0,w,h,&fn);
}
int main()
{
dmLoop(800, 600);
return 0;
}
で、コンパイル。
g++ -I/usr/local/include/ode/ -I/usr/local/src/ode-0.11.1/include/ \
-L/usr/local/lib/ \
hello.cpp \
/usr/local/lib/libode.a \
/usr/local/src/ode-0.11.1/drawstuff/src/.libs/libdrawstuff.a \
/usr/lib/libX11.so \
/usr/lib/libglut.so
で、実行。
./a.out
動いた!
