Hello World in ODE
来源:互联网 发布:电脑硬件升级建议软件 编辑:程序博客网 时间:2024/03/28 22:23
ode用的是BSD license, 很亲善, 并且库本身质量还不错, 可以作为正经的用途.
并且API是c风格的,可以很轻松的用于其他语言.
作为熟悉引擎, 先写个最简单的小球下落作为HelloWorld.
结果就像这样:
Mac-mini:ode $ ./a.out0010100001000010009.9755100001000010009.9265100001000010009.853100001000010009.755100001000010009.6325100001000010009.4855100001000010009.314100001000010009.118100001000010008.8975100001000010008.6525100001000010008.383100001000010008.089100001000010007.7705100001000010
虽然ode本身带了一个非常简单的图像引擎,不过我不打算用,
毕竟描画还是自己折腾openGL比较灵活高效,更何况已经写了objloader,至于要读模型文件,旋转平移就行了.
下面是源代码, 不知道为什么, 语法高亮失效了, 难道是我设置的问题?
Mac-mini:ode$ cat basic.dimport std.stdio, ode;static dWorldID world;dBodyID ball;const dReal radius = .2;const dReal mass = 1.;static void simLoop(){dReal* pos;dReal* r;pos = dBodyGetPosition(ball);r = dBodyGetRotation(ball);writeln(*pos,"\t",*(pos+1),"\t",*(pos+2));foreach(i;0..3*4) write(*(r+i),((i+1)%4==0)?"\n":"\t");writeln();dWorldStep(world, 0.05);}void main(){dInitODE();world = dWorldCreate();dWorldSetGravity(world, 0, 0, -9.8);ball = dBodyCreate(world);dMass m1;dMassSetZero(&m1);dMassSetSphereTotal(&m1, mass, radius);dBodySetMass(ball, &m1);dBodySetPosition(ball, 0,0,10);foreach(i;1..40) simLoop();dWorldDestroy(world);dCloseODE();}
连接的时候注意用g++才行,因为库用到了c++.其他的都交给pkg-config吧
- Hello World in ODE
- Hello world in Java
- Hello World(Java) in Eclipse
- Hello World(C++) in Eclipse
- puts "Hello world" in VC++
- Hello World in D Language
- 一 Hello World in ABAP
- ‘Hello World!’ in ARM assembly
- Hello world in a container
- ‘Hello World!’ in ARM assembly
- Eclipse Plug-in Hello world
- 碰撞效果 in ODE
- 关节运动 in ODE
- ODE手册(4)World
- spring in action 的Hello World
- opensocial in eclipse - Chapter 1 - "hello world"!
- Hello, the World in Euhat Language
- 1 Hello, world of concurrency in C++!
- object-c 基础学习(-)
- 小弟全力推荐的MFC好资料——定期更新
- 网络电台搭建教程(jetcast)
- Ant_android Ant 批量多渠道打包(2)
- netty vs mina网络应用编程框架
- Hello World in ODE
- JAVA虚拟机内部体系结构之内存分析
- memmove
- 编程范式 --- 通用交换和搜索函数
- 19位编程大师集锦
- retain cycle 与block的正确调用
- 网络编程之同步,阻塞,异步,非阻塞
- HDU 4510 小Q系列故事——为什么时光不能倒流
- C++ Primer学习笔记——顺序容器及相应的容器适配器